SSISO Community

시소당

EJB 강좌-1

@helloHome.java

//1. home interface -->CM(create)

// 1.ejb home 인터페이스를 상속받는다.
import javax.ejb.*;
import java.rmi.RemoteException;
public interface HelloHome extends EJBHome{
 //stateless
 public Hello create() throws RemoteException, CreateException;
}

---------------------------------------------------------------------

@Hello.java

//2. remote interface -->Bussiness Method 를 선언
import javax.ejb.*;
import java.rmi.RemoteException;

public interface Hello extends EJBObject{
 public String sayHello(String name) throws RemoteException;

 public void setAge(int age) throws RemoteException;
 public int getAge() throws RemoteException;
 public String getName() throws RemoteException;
}

-----------------------------------------------------------------------

@HelloEJB.java

// 3. bean class
import javax.ejb.*;

public class HelloEJB implements SessionBean{
 private String name;
 private int age;

 public HelloEJB(){
  System.out.println("HelloEJB()");
 }

 //1. SessionBean interface member overriding
 public void ejbActivate(){
  System.out.println("\t ejbActivate()");
 }

 public void setSessionContext(SessionContext ctx){
  System.out.println("setSessionContext()");
 }//한번만 호출될수 있음..
 
 public void ejbPassivate(){
  System.out.println("\t ejbPassivate()");
 }
   
 public void ejbRemove(){
  System.out.println("\t ejbRemove()");
 }
 
 //2. home create --> ejbCreate
 public void ejbCreate(){
  System.out.println("\t ejbCreate()");
 }

 //3. remote BM overriding
 public String sayHello(String name){
  this.name=name;
  return name+"님 어서오세요...";
 }
 public void setAge(int age){
  this.age=age;
 }
 
 public int getAge() {
  return age;
 }
 public String getName() {
  return name;
 }
}

 

----------------------------------------------------------------------

@HelloClient.java

import javax.naming.*;
import javax.rmi.*;

public class HelloClient{
 public static void main(String[] args){
  try{
   Context ctx=new InitialContext(); //JNDI 정보를 가져온다.
   Object obj=ctx.lookup("ejb/Hello");
   HelloHome home=(HelloHome)PortableRemoteObject.narrow(obj, HelloHome.class);
   Hello remote=home.create();
   //String ss=remote.sayHello("홍길동");
   //System.out.println("message :"+ss);
   //remote.setAge(10);
   System.out.println(remote.getName()+" "+remote.getAge());
  }catch(Exception e){
   e.printStackTrace();
  }
 }
}

1197 view

4.0 stars