1 4 package com.nightlabs.ipanema.asyncinvoke; 5 6 import java.io.Serializable ; 7 import java.rmi.RemoteException ; 8 9 import javax.ejb.CreateException ; 10 import javax.ejb.EJBException ; 11 import javax.ejb.SessionBean ; 12 13 import com.nightlabs.ModuleException; 14 import com.nightlabs.ipanema.base.BaseSessionBeanImpl; 15 16 26 public abstract class AsyncInvokerDelegateBean 27 extends BaseSessionBeanImpl 28 implements SessionBean 29 { 30 34 public void ejbCreate() 35 throws CreateException 36 { 37 } 38 43 public void ejbRemove() throws EJBException , RemoteException 44 { 45 } 46 47 54 public void enqueueErrorCallback(AsyncInvokeEnvelope envelope) 55 throws Exception 56 { 57 new AsyncInvoke().enqueue(AsyncInvoke.QUEUE_ERRORCALLBACK, envelope); 58 } 59 60 67 public Serializable doInvocation(AsyncInvokeEnvelope envelope) 68 throws Exception 69 { 70 Invocation invocation = envelope.getInvocation(); 71 invocation.setPrincipal(getPrincipal()); 72 return invocation.invoke(); 73 } 74 75 82 public void doErrorCallback(AsyncInvokeEnvelope envelope, Throwable error) 83 throws Exception 84 { 85 ErrorCallback callback = envelope.getErrorCallback(); 86 callback.setPrincipal(getPrincipal()); 87 callback.handle(envelope, error); 88 } 89 90 97 public void doSuccessCallback(AsyncInvokeEnvelope envelope, Object result) 98 throws Exception 99 { 100 SuccessCallback callback = envelope.getSuccessCallback(); 101 callback.setPrincipal(getPrincipal()); 102 callback.handle(envelope, result); 103 } 104 105 112 public void doUndeliverableCallback(AsyncInvokeEnvelope envelope) 113 throws Exception 114 { 115 UndeliverableCallback callback = envelope.getUndeliverableCallback(); 116 callback.setPrincipal(getPrincipal()); 117 callback.handle(envelope); 118 } 119 } 120 | Popular Tags |