1 22 package org.jboss.ejb3.test.interceptors2; 23 24 import javax.annotation.Resource; 25 import javax.interceptor.AroundInvoke; 26 import javax.ejb.EJBContext ; 27 import javax.interceptor.Interceptors; 28 import javax.interceptor.InvocationContext; 29 import javax.ejb.Remove ; 30 import javax.ejb.Stateful ; 31 import javax.naming.InitialContext ; 32 import javax.naming.NamingException ; 33 34 import org.jboss.annotation.ejb.cache.simple.CacheConfig; 35 36 41 @Stateful (name="MixedConfigSFSB") 42 @Interceptors ({MixedClassInterceptor.class}) 43 @CacheConfig(maxSize = 1) 44 public class MixedConfigSFSB implements MixedConfigSFSBRemote 45 { 46 @Resource 47 EJBContext ejbCtx; 48 49 public void test() 50 { 51 System.out.println("MixedConfigSFSB.test()"); 52 } 53 54 @Interceptors ({MixedMethodInterceptor.class}) 55 public void testWithMethodLevel() 56 { 57 System.out.println(); 58 } 59 60 @Interceptors ({MixedMethodInterceptor.class}) 61 public void testWithMethodLevelB() 62 { 63 System.out.println(); 64 } 65 66 @AroundInvoke 67 public Object intercept(InvocationContext ctx) throws Exception 68 { 69 System.out.println("MixedConfigSFSB intercepting!"); 70 StatusRemote status = findStatusRemote(); 71 status.addInterception(new Interception(this, "intercept")); 72 return ctx.proceed(); 73 } 74 75 @Remove 76 public void kill() 77 { 78 79 } 80 81 private StatusRemote findStatusRemote() 82 { 83 try 84 { 85 InitialContext ctx = new InitialContext (); 86 StatusRemote status = (StatusRemote)ctx.lookup("StatusBean/remote"); 87 return status; 88 } 89 catch (NamingException e) 90 { 91 throw new RuntimeException (e); 92 } 93 } 94 95 96 97 } 98 | Popular Tags |