djencks     2005/04/01 14:22:35

  Modified:    modules/core/src/java/org/openejb/timer
                        BasicTimerServiceImpl.java
  Log:

  Temporary hack to reduce annoyance from GERONIMO-623
  
  Revision  Changes    Path
  1.4       +19 -2     
openejb/modules/core/src/java/org/openejb/timer/BasicTimerServiceImpl.java
  
  Index: BasicTimerServiceImpl.java
  ===================================================================
  RCS file: 
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/timer/BasicTimerServiceImpl.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- BasicTimerServiceImpl.java        1 Mar 2005 23:34:34 -0000       1.3
  +++ BasicTimerServiceImpl.java        1 Apr 2005 19:22:35 -0000       1.4
  @@ -71,6 +71,7 @@
   import org.apache.geronimo.timer.WorkInfo;
   import org.apache.geronimo.transaction.context.TransactionContext;
   import org.apache.geronimo.transaction.context.TransactionContextManager;
  +import org.apache.geronimo.kernel.proxy.DeadProxyException;
   import org.openejb.EJBInvocation;
   
   /**
  @@ -195,8 +196,20 @@
           return timers;
       }
   
  +    //TODO HACK SEE GERONIMO-623
  +    private boolean notified = false;
       public TimerImpl getTimerById(Long id) {
  -        WorkInfo workInfo = persistentTimer.getWorkInfo(id);
  +        WorkInfo workInfo = null;
  +        try {
  +            workInfo = persistentTimer.getWorkInfo(id);
  +        } catch (DeadProxyException e) {
  +            //TODO HACK SEE GERONIMO-623
  +            notified = true;
  +            if (notified) {
  +                return null;
  +            }
  +            throw new RuntimeException("Dead proxy for ejb " + key);
  +        }
           if (workInfo != null) {
               TimerImpl timer = (TimerImpl) workInfo.getClientHandle();
               return timer;
  @@ -248,6 +261,10 @@
   
           public void run() {
               TimerImpl timerImpl = timerService.getTimerById(new 
Long(timerId));
  +            //TODO HACK SEE GERONIMO-623
  +            if (timerImpl == null) {
  +                return;
  +            }
               EJBInvocation invocation = 
timerService.invocationFactory.getEJBTimeoutInvocation(timerImpl.getUserId(), 
timerImpl);
   
               // set the transaction context into the invocation object
  
  
  

Reply via email to