IT 정보/자바/JSP/EJB
[자바/JAVA/SCJP]자바 분산 프로그래밍 - CORBA CALLBACK
김윤석
2007. 12. 17. 14:59
HelloCallback.idl 파일
1 // Copyright Choi Jong Myung, Soongsil Univ.
2 // E-mail: jmchoi@amin.soongsil.ac.kr
3 module HelloCallback {
4 interface Hello {
5 void writeMsg();
6 };
7
8 interface HelloCallbackServer {
9 boolean register(in Hello client);
10 void broadcast();
11 };
12 };
% idl2java HelloCallback.idl
% cd HelloCallback
% javac -d .. *.java
% cd ..
% vi HelloServer.java
HelloServer.java 파일
1 // Copyright Choi Jong Myung, Soongsil Univ.
2 // E-mail: jmchoi@amin.soongsil.ac.kr
3
4 import! java.util.*;
5 import! HelloCallback.*;
6
7 public class HelloServer {
8 public static void main(String args[]) {
9 try {
10 org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init();
11 org.omg.CORBA.BOA boa = orb.BOA_init();
12 HelloCallbackServerImpl registor = new HelloCallbackServerImpl("registor");
13 boa.obj_is_ready(registor);
14 boa.impl_is_ready();
15 } catch(Exception e) {
16 System.out.println(e);
17 }
18 }
19 }
20
21
22 class HelloCallbackServerImpl extends _sk_HelloCallbackServer implements HelloCallbackServer {
23 Vector clientList;
24
25 public HelloCallbackServerImpl(String name) {
26 super(name);
27 clientList = new Vector(10);
28 System.out.println("HelloCallbackServerImpl is ready");
29 }
30
31
32 public boolean register(Hello client) {
33 try {
34 clientList.addElement(client);
35 System.out.println("Client registered");
36 return true;
37 } catch (Exception e) {
38 return false;
39 }
40 }
41
42
43 public void broadcast() {
44 Enumeration e = clientList.elements();
45 while(e.hasMoreElements()) {
46 Hello client = (Hello)e.nextElement();
47 client.writeMsg();
48 System.out.println("broadcast is called..");
49 }
50 }
51 }
% javac -d . HelloServer.java
% vi HelloClientApplet!.java
1 // Copyright Choi Jong Myung, Soongsil Univ.
2 // E-mail: jmchoi@amin.soongsil.ac.kr
3
출처:
http://www.it-bank.or.kr/prom/java_main.htm
1 // Copyright Choi Jong Myung, Soongsil Univ.
2 // E-mail: jmchoi@amin.soongsil.ac.kr
3 module HelloCallback {
4 interface Hello {
5 void writeMsg();
6 };
7
8 interface HelloCallbackServer {
9 boolean register(in Hello client);
10 void broadcast();
11 };
12 };
% idl2java HelloCallback.idl
% cd HelloCallback
% javac -d .. *.java
% cd ..
서버 만들기
% vi HelloServer.java
HelloServer.java 파일
1 // Copyright Choi Jong Myung, Soongsil Univ.
2 // E-mail: jmchoi@amin.soongsil.ac.kr
3
4 import! java.util.*;
5 import! HelloCallback.*;
6
7 public class HelloServer {
8 public static void main(String args[]) {
9 try {
10 org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init();
11 org.omg.CORBA.BOA boa = orb.BOA_init();
12 HelloCallbackServerImpl registor = new HelloCallbackServerImpl("registor");
13 boa.obj_is_ready(registor);
14 boa.impl_is_ready();
15 } catch(Exception e) {
16 System.out.println(e);
17 }
18 }
19 }
20
21
22 class HelloCallbackServerImpl extends _sk_HelloCallbackServer implements HelloCallbackServer {
23 Vector clientList;
24
25 public HelloCallbackServerImpl(String name) {
26 super(name);
27 clientList = new Vector(10);
28 System.out.println("HelloCallbackServerImpl is ready");
29 }
30
31
32 public boolean register(Hello client) {
33 try {
34 clientList.addElement(client);
35 System.out.println("Client registered");
36 return true;
37 } catch (Exception e) {
38 return false;
39 }
40 }
41
42
43 public void broadcast() {
44 Enumeration e = clientList.elements();
45 while(e.hasMoreElements()) {
46 Hello client = (Hello)e.nextElement();
47 client.writeMsg();
48 System.out.println("broadcast is called..");
49 }
50 }
51 }
% javac -d . HelloServer.java
클라이언트 만들기
% vi HelloClientApplet!.java
1 // Copyright Choi Jong Myung, Soongsil Univ.
2 // E-mail: jmchoi@amin.soongsil.ac.kr
3
출처:
http://www.it-bank.or.kr/prom/java_main.htm