¼Ò¼³ java.rmi ¼Ò½ºÄڵ堠RMI Application ¸¸µé±â  ±âÃÊRMI  

±âÃÊ RMI

Bank.java

import java.rmi.*;
public interface Bank extends 
Remote {
  
public int getBalance() throws 
RemoteException;
  
public int deposit(int amount) throws 
RemoteException;  
  
public int withdraw(int amount) throws 
RemoteException;
}

C:\18>javac Bank.java

BankImpl.java

import java.rmi.*;
import 
java.rmi.server.*;
public class BankImpl extends UnicastRemoteObject implements 
Bank {
  
private int 
total;
  
public BankImpl(int total)  throws 
RemoteException {
    
this
.total = total;
  }
    
public int getBalance() throws 
RemoteException {
    
return 
total;
  }
  
public int deposit(int amount) throws 
RemoteException {
    total += amount;
    
return 
getBalance();
  }
  
public int withdraw(int amount) throws 
RemoteException {
    total -= amount;
    
return 
getBalance();
  }  
  
public static void main(String[] args)  throws 
Exception {
    BankImpl bankip = 
new BankImpl(10000
);
    Naming.rebind(
"//localhost/BankIp"
, bankip);
    System.out.println(
"bank was rebinded with name 'BankIp"
);    
  }
}

C:\18>javac BankImpl.java
C:\18>rmic BankImpl

BankClient.java

import java.rmi.*;
public class 
BankClient {
  
public static void main(String[] args)  throws 
Exception {
    
int balance = 0
;
    Bank bank = (Bank)Naming.lookup(
"//localhost/BankIp"
);
    System.out.println(
"Bank was given from Server"
);    
    balance = bank.getBalance();
    System.out.println(
"current balance : " 
+ balance);    
    balance = bank.deposit(
1000
);
    System.out.println(
"deposit 1000"
);
    System.out.println(
"current balance : " 
+ balance);    
    balance = bank.withdraw(
5000
);
    System.out.println(
"withdraw 5000"
);
    System.out.println(
"current balance : " 
+ balance);
  }
}

C:\18>javac BankClient.java
C:\18>rmiregistry

C:\18>java BankImpl
bank was rebinded with name 'BankIp

C:\18>java BankClient
Bank was given from Server
current balance : 10000
deposit 1000
current balance : 11000
withdraw 5000
current balance : 6000

¿ø°Ý°´Ã¼ÀÇ ÀÎÅÍÆäÀ̽º¸¦ ÀÛ¼ºÇÏ°í ¿ø°Ý °´Ã¼ ¹× ¼­¹ö ÇÁ·Î±×·¥ ÀÛ¼ºÇÕ´Ï´Ù. Stub/SkeletonÀ» »ý¼ºÇÏ°í ¿ø°Ý°´Ã¼¸¦ »ç¿ëÇÒ Å¬¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥À» ÀÛ¼ºÇÕ´Ï´Ù. ½ÇÁ¦ ¼­ºñ½º¸¦ ÇϱâÀ§ÇØ RMI Registry¸¦ ½ÇÇàÇØ¼­ Á¡°ËÇÏ°í ¼­¹öÇÁ·Î±×·¥°ú Ŭ¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥À» ½ÇÇàÇÕ´Ï´Ù.



jabookÀúÀÚ¸íÇÔ
Á¦¸ñ:¼Ò¼³°°Àº¹Ì´ÏÄÚµå
ÀÛ¼ºÀÚ:Àںϸâ¹ö ÀÌÇѼö