1 package ejb; 8 9 import java.rmi.RemoteException ; 10 import java.util.List ; 11 import javax.ejb.*; 12 import javax.naming.InitialContext ; 13 14 import db.FortuneGenerator; 15 import db.FortuneGeneratorImpl; 16 import org.ozoneDB.OzoneInterface; 17 18 23 public class GreeterBean implements SessionBean { 24 25 private SessionContext ctx; 26 private OzoneInterface db; 27 private FortuneGenerator fortuneGenerator; 28 29 public void ejbCreate() { 30 try { 31 db = (OzoneInterface) new InitialContext ().lookup(OzoneInterface.class.getName()); 32 fortuneGenerator = (FortuneGenerator) db.objectForName(FortuneGenerator.class.getName()); 33 if (fortuneGenerator == null) { 34 System.out.println("[GreeterBean] Storing new FortuneGenerator object"); 35 fortuneGenerator = FortuneGeneratorImpl.create(db); 36 } else { 37 System.out.println("[GreeterBean] Found existing FortuneGenerator object"); 38 } 39 } catch (Exception e) { 40 e.printStackTrace(); 41 } 42 } 43 44 public void ejbActivate() throws EJBException, RemoteException { 45 try { 46 System.out.println("[GreeterBean] connecting to ozone..."); 47 db = (OzoneInterface) new InitialContext ().lookup(OzoneInterface.class.getName()); 48 System.out.println("[GreeterBean] Connected!"); 49 db.reloadClasses(); 50 System.out.println("[GreeterBean] Classes reloaded"); 51 } catch (Exception e) { 52 throw new RemoteException (e.toString()); 53 } 54 } 55 56 public void ejbPassivate() throws EJBException, RemoteException { 57 db = null; 58 } 59 60 public void ejbRemove() throws EJBException, RemoteException { 61 } 62 63 public void setSessionContext(SessionContext context) throws EJBException, RemoteException { 64 ctx = context; 65 } 66 67 public String getGreeting() { 68 System.out.println("[GreeterBean] getting greeting"); 69 String result = fortuneGenerator.getFortune(); 70 System.out.println("[GreeterBean] returning " + result); 71 return result; 72 } 73 74 public void removeAllGreetings() { 75 System.out.println("[GreeterBean] removing all greetings"); 76 fortuneGenerator.removeFortunes(); 77 } 78 79 public void addGreeting(String greeting) { 80 System.out.println("[GreeterBean] adding greeting " + greeting); 81 fortuneGenerator.addFortune(greeting); 82 } 83 84 public List getAllGreetings() { 85 System.out.println("[GreeterBean] list all greetings"); 86 return fortuneGenerator.getAllFortunes(); 87 } 88 } 89 | Popular Tags |