RMI ¿¡¼­ Serialization À» ¾îÂîÇØ¾ß ÁÁÀ»Áö...


[ ´ÙÀ½ ±Ûµé ] [ À̾ ±Û¿Ã¸®±â(´äÇϱâ) ] [ ÀÚ¹Ù ¹¯°í ´äÇϱâ ]

±Û¾´ÀÌ :Á¶ÁßÇö 2000³â 5¿ù 10ÀÏ 11:05:44

In Reply to: ¹ÚÂù¿ì´Ô °¨»ç !. À̹ø¿£ RMI Á» posted by Á¶ÁßÇö on 2000³â 5¿ù 10ÀÏ 09:03:15:

¾ÆÁ÷ RMI¿¡¼­ °´Ã¼ Serialization¿¡ ´ëÇÑ ÀÌÇØ°¡ ºÒÃæºÐÇÏ¿© ¿¡·¯¸¦ ¸ø ã¾Ò½À´Ï´Ù.
Á¦ ªÀº ¼Ò¼Ò¸¦ º¸½Ã°í Á¶¾ð¸¦ Á» ºÎŹµå·Áµµ µÇ°Ú´ÂÁö.

=> MyResultSet (ResultSet °´Ã¼¸¦ SerializationÇÏ·Á ½ÃµµÇß½À´Ï´Ù)
¾Æ¸¶µµ ..

import java.io.*;
import java.sql.*;

public class MyResultSet implements Serializable {
ResultSet result;

public MyResultSet() {

}
}

=> ¿ø°Ý°´Ã¼ ÀÎÅÍÆäÀ̽º ¼±¾ð
import java.rmi.Remote;
import java.rmi.RemoteException;
import java.sql.*;


public interface RemoteDBServer extends Remote {
public MyResultSet getData() throws RemoteException;
}

=>±¸ÇöµÈ ¿ø°Ý°´Ã¼

import java.rmi.*;
import java.rmi.server.*;
import java.sql.*;

public class DBServer extends UnicastRemoteObject
implements RemoteDBServer {

Connection conn;

public DBServer() throws RemoteException
{
String connString="jdbc:oracle:thin:172.24.1.154:1521:ORCL";

try {
DriverManager.registerDriver (new oracle.jdbc.driver.OracleDriver());
}
catch (SQLException e) {
System.out.println("Can not find Class");
}
try {
conn = DriverManager.getConnection("jdbc:oracle:thin:@172.24.1.154:1521:orcl","scott","tiger");
}
catch (SQLException e) {
System.out.println("Can not connect to DB => "+e.getMessage());
}
}


/*¿ø°Ý°´Ã¼ ¸Þ¼Òµå ÀÔ´Ï´Ù.*/
public MyResultSet getData()
{
ResultSet rset=null;
Statement stmt=null;
MyResultSet temp=null;

temp = new MyResultSet();
try {
stmt = conn.createStatement ();
rset = stmt.executeQuery ("select ename from emp");
}
catch(SQLException e) {
System.out.println("Can not create statement");
}

return temp;
public static void main(String[] args) throws Exception {
DBServer server = new DBServer();
Naming.rebind("DBServer",server);
}
}

=>¿ø°Ý°´Ã¼ÀÇ ¸Þ½îµé È£ÃâÇÏ´Â °´Ã¼(Client)

import java.rmi.Naming;
import java.sql.*;

public class DBClient {
public static void main(String args[]) throws Exception {
if (args.length != 1)
throw new IllegalArgumentException("Syntax : DBClient <host name>");

RemoteDBServer server = (RemoteDBServer)Naming.lookup("rmi://"+args[0]+"/DBServer");
MyResultSet rset= server.getData();

while (rset.result.next ()) {
System.out.println (rset.result.getString (1));
}
}
}

=> ¿ø°Ý°´Ã¼ È£Ãâ½Ã ³ªÅ¸³ª´Â ¿¡·¯ÀÔ´Ï´Ù.
C:\JavaExe>java DBClient localhost
Exception in thread "main" java.lang.NullPointerException
at DBClient.main(DBClient.java, Compiled Code)

C:\JavaExe>


==>
¾îÂîÇØ¾ß ÁÁÀ»Áö ÀڷḦ °è¼Ó ã°í Àִµ¥ ¾î·Æ±º¿ä.
¿°Ä¡¾øÁö¸¸ À̹ø¿¡ ºÎŹÀ» µå·Áµµ µÉÁö.



´ÙÀ½ ±Ûµé:



À̾ ±Û¿Ã¸®±â(´äÇϱâ)

À̸§:
E-Mail:
Á¦¸ñ:
³»¿ë:
HTML ÅÂ±× Æ÷ÇÔ ¿©ºÎ: HTML ¹®¼­ÀÏ °æ¿ì üũ
°ü·Ã URL(¼±ÅÃ):
URL Á¦¸ñ(¼±ÅÃ):
°ü·Ã À̹ÌÁö URL:


[ ´ÙÀ½ ±Ûµé ] [ À̾ ±Û¿Ã¸®±â(´äÇϱâ) ] [ ÀÚ¹Ù ¹¯°í ´äÇϱâ ]