1 22 package org.jboss.test.asynch; 23 24 import org.jboss.aspects.asynch.AsynchProvider; 25 import org.jboss.aspects.asynch.AsynchRemoting; 26 import org.jboss.aspects.asynch.Asynchronous; 27 import org.jboss.aspects.asynch.Future; 28 import org.jboss.remoting.InvokerLocator; 29 30 36 public class POJO 37 { 38 @Asynchronous 39 public int testMethod(int echo) 40 { 41 System.out.println("echo: " + echo); 42 return echo; 43 } 44 45 @Asynchronous 46 public String testMethod(String echo) 47 { 48 System.out.println("ECHO: echo"); 49 return echo; 50 } 51 52 public void test() throws Exception 53 { 54 AsynchProvider asynch = (AsynchProvider) this; 55 testMethod(5); 56 57 Future future = asynch.getFuture(); 58 int rtn = (Integer ) future.get(); 59 if (rtn != 5) throw new RuntimeException ("integer return value invalid"); 60 61 testMethod("hello"); 62 63 future = asynch.getFuture(); 64 String srtn = (String ) future.get(); 65 if (!"hello".equals(srtn)) throw new RuntimeException ("string return value failed"); 66 67 68 } 69 70 public void testCollocated() throws Exception 71 { 72 73 POJO pojo = (POJO) AsynchRemoting.createRemoteProxy("pojo", POJO.class, new InvokerLocator("socket://localhost:5150")); 74 75 AsynchProvider asynch = (AsynchProvider) pojo; 76 pojo.testMethod(5); 77 78 Future future = asynch.getFuture(); 79 int rtn = (Integer ) future.get(); 80 if (rtn != 5) throw new RuntimeException ("integer return value invalid"); 81 82 pojo.testMethod("hello"); 83 84 future = asynch.getFuture(); 85 String srtn = (String ) future.get(); 86 if (!"hello".equals(srtn)) throw new RuntimeException ("string return value failed"); 87 88 } 89 90 } 91 | Popular Tags |