2 Replies Latest reply on Jan 29, 2007 9:41 PM by Matt Kleiderman

    Timer Error intermittently killing my site

    Devon Hillard Novice

      I have an application which is using Seam and Jboss 4.0.5. I have a timer (setup through seam, don't ask me how), which every 20 seconds checks an imap account, loads any new e-mail in, and then processes them.

       @Asynchronous
       @Transactional
       public void processEmailsRecurring(@Expiration
       Date pDate, @IntervalDuration
       long pInterval) {
       mLog.info("proccessEmailsReccurring running...");
       this.mEmailManager.processNewEmails(mIMAPClient.getNewMessages());
       }
      


      This works perfectly for days or hours. Then it starts dying. The mIMAPClient.getNewMessages() gets called, but before the processNewEmails is called, this error shows up in the logs:

      ERROR [org.jboss.ejb.txtimer.TimerImpl] Error invoking ejbTimeout: javax.ejb.EJBException: java.lang.NullPointerException
      


      It then does that (getNewMessages(), ERROR, end) every 20 seconds. Once I notice that the site has died, I can go in and flush out the mail spool, and that seems to "fix" it for a time.

      What could be causing the ERROR [org.jboss.ejb.txtimer.TimerImpl] Error invoking ejbTimeout: javax.ejb.EJBException: java.lang.NullPointerException?

      I've tried to back track through the jboss source, but there is so many layers and injection and such, that I have no idea where it is coming from, or why it only happens sometimes, or how I can fix it.

      Any ideas or info would be greatly appreciated.

      Thank you!

      Modoc