1 6 7 package org.jfox.examples.ejb.stateful; 8 9 import java.io.FileInputStream ; 10 import java.io.FileOutputStream ; 11 import java.io.ObjectInputStream ; 12 import java.io.ObjectOutputStream ; 13 import javax.ejb.EJBMetaData ; 14 import javax.naming.Context ; 15 import javax.naming.InitialContext ; 16 17 import junit.framework.TestCase; 18 19 22 23 public class TestMain extends TestCase { 24 25 private static TestStatefulHome home = null; 26 private static TestStateful world = null; 27 28 static { 29 try { 30 Context ctx = new InitialContext (); 31 Object obj = ctx.lookup("/TestStatefulEJB"); 32 home = (TestStatefulHome) javax.rmi.PortableRemoteObject.narrow(obj, TestStatefulHome.class); 33 world = home.create(); 35 } 36 catch(Exception e) { 37 e.printStackTrace(); 38 } 39 } 40 41 protected void setUp() throws Exception { 42 } 43 44 public void testToString() { 45 System.out.println(home.toString()); 46 System.out.println(world); 47 } 48 49 public void testGetEJBMetaData() { 50 try { 51 System.out.print("test getEJBMetaData()..."); 52 EJBMetaData meta = home.getEJBMetaData(); 53 System.out.println("EJBMetaData: " + meta); 54 } 55 catch(Exception e) { 56 fail(e.toString()); 57 } 58 } 59 60 public void testGetWord() { 61 try { 62 assertTrue(world.getName().equals("Hello,Stateful SessionBean!")); 63 } 64 catch(Exception e) { 65 e.printStackTrace(); 66 fail(e.toString()); 67 } 68 } 69 70 public void testSetWord() { 71 try { 72 System.out.print("test setName()..."); 73 world.setName("Hello,All"); 74 System.out.println("setName over!"); 75 Thread.sleep(10000L); 76 assertTrue(world.getName().equals("Hello,All")); 77 System.out.println("OK!"); 78 } 79 catch(Exception e) { 80 e.printStackTrace(); 81 fail(e.toString()); 82 } 83 84 } 85 86 119 private void writeHandle(Object obj) throws Exception { 120 ObjectOutputStream out = new ObjectOutputStream (new FileOutputStream ("./" + this.getClass() + ".ser")); 121 out.writeObject(obj); 122 out.close(); 123 } 124 125 private Object readHandle() throws Exception { 126 ObjectInputStream in = new ObjectInputStream (new FileInputStream ("./" + this.getClass() + ".ser")); 127 Object handle = in.readObject(); 128 in.close(); 129 return handle; 130 } 131 132 133 public static void main(String [] args) { 134 junit.textui.TestRunner.run(TestMain.class); 135 } 136 137 } 138 | Popular Tags |