7 Replies Latest reply on Nov 29, 2006 4:13 PM by gavin.king

    Timer issue just broke my site after a week of no issues. Pl

    modoc

      I'm in a bit of a panic, as my newly launched site, which just made the front page of digg.com yesterday, and as such is seeing a ton of traffic, just broke, and I can't figure out how to fix it.

      The site was up and working fine for a week. It still works perfectly on my dev box, with no changes anywhere. I've restarted, blown out the tmp dir, re-pushed the ear, etc... no changes.

      I'm using seam, a timer on a POJO, and have the timers configured to not persist.

      Essentially, every 60 seconds, an e-mail account is checked, and all incoming e-mails are processed. The timed component code looks like this:

      /**
       *
       */
      package com.digitalsanctuary.seam;
      
      import java.util.Date;
      
      import javax.ejb.Timer;
      
      import org.jboss.seam.ScopeType;
      import org.jboss.seam.annotations.Asynchronous;
      import org.jboss.seam.annotations.In;
      import org.jboss.seam.annotations.Logger;
      import org.jboss.seam.annotations.Name;
      import org.jboss.seam.annotations.Scope;
      import org.jboss.seam.annotations.Synchronized;
      import org.jboss.seam.annotations.timer.Expiration;
      import org.jboss.seam.annotations.timer.IntervalDuration;
      import org.jboss.seam.log.Log;
      
      import com.digitalsanctuary.mail.IMAPClient;
      
      @Name("emailService")
      @Scope(ScopeType.APPLICATION)
      @Synchronized
      public class EmailService {
      
       @Logger
       private Log mLog;
      
       @In(value = "emailManager", create = true)
       private EmailManager mEmailManager;
      
       @In(value = "IMAPClient", create = true)
       private IMAPClient mIMAPClient;
      
       /**
       * This method is called on a schedule determined by the passed in parameters. It gets new messages using the
       * IMAPClient, and passes them into the EmailManager for processing.
       *
       * @param pDate
       * the Date to start the scheduled job.
       * @param pInterval
       * the number of millisecond between each run.
       * @return the EJB Timer instance that handles the scheduling of this task.
       */
       @Asynchronous
       public Timer processEmailsRecurring(@Expiration
       Date pDate, @IntervalDuration
       long pInterval) {
       mLog.info("proccessEmailsReccurring running...");
       this.mEmailManager.processNewEmails(mIMAPClient.getNewMessages());
       return null;
       }
      }
      



      It gets invoked in the create method of another class:

       @Create
       public void doStartService() {
       mLog.info("Starting up...");
       mClientMap = new HashMap<String, SessionMailQueue>();
       mLog.info("Kicking off recurring email processor.");
       this.mEmailService.processEmailsRecurring(new Date(), 60000);
       }
      



      as you can see, the method that gets called every 60 seconds is:

      this.mEmailManager.processNewEmails(mIMAPClient.getNewMessages());


      The inner method, getNewMessages gets called, and I can see it's log messages at it invokes successfully. however, the outer method, processNetEmails, doesn't seem to get called. Instead, immediately after the log lines from the getNewMessages execution, I get this:

      17:56:56,804 ERROR [TimerImpl] Error invoking ejbTimeout: javax.ejb.EJBException: java.lang.NullPointerException


      I don't know why it would be trying to timeout. The processMailsRecurring method, does return null instead of a valid Timer, so that might cause a NPE, but I took that code from the example in SeamPay, where it returns null. It also works totally fine in my dev environment, and worked in my production environment for a week without issue.

      The server.log with all the debug info is below.

      I'd appreciate ANY advice, as my site looks like it's working, but none of the e-mail ever gets processed correctly, so this is a huge problem for me.

      It worked fine, and now it's broken and I don't know how to fix it.

      Thanks to anyone who can help!


      Modoc


      2006-11-26 17:20:47,798 INFO [com.digitalsanctuary.seam.EmailManager] Starting up...
      2006-11-26 17:20:47,798 DEBUG [org.jboss.seam.Component] instantiating Seam component: org.jboss.seam.core.interpolator
      2006-11-26 17:20:47,798 DEBUG [org.jboss.seam.Component] initializing new instance of: org.jboss.seam.core.interpolator
      2006-11-26 17:20:47,798 DEBUG [org.jboss.seam.Component] done initializing: org.jboss.seam.core.interpolator
      2006-11-26 17:20:47,798 INFO [com.digitalsanctuary.seam.EmailManager] Kicking off recurring email processor.
      2006-11-26 17:20:47,799 DEBUG [org.jboss.seam.Component] instantiating Seam component: org.jboss.seam.core.dispatcher
      2006-11-26 17:20:47,804 DEBUG [org.jboss.seam.util.Naming] JNDI InitialContext properties:{java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory, java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces}
      2006-11-26 17:20:47,804 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRepository, repository=org.jboss.mx.loading.HeirarchicalLoaderRepository3@e2d858, cl=org.jboss.mx.loading.HeirarchicalLoaderRepository3$CacheClassLoader@586403{ url=null ,addedOrder=0}
      2006-11-26 17:20:47,966 DEBUG [org.jboss.seam.Component] initializing new instance of: org.jboss.seam.core.dispatcher
      2006-11-26 17:20:47,966 DEBUG [org.jboss.seam.Component] done initializing: org.jboss.seam.core.dispatcher
      2006-11-26 17:20:48,001 DEBUG [org.jboss.ejb.txtimer.TimerImpl] setTimerState: created
      2006-11-26 17:20:48,001 DEBUG [org.jboss.ejb.txtimer.NoopPersistencePolicy] Noop on insertTimer
      2006-11-26 17:20:48,005 DEBUG [org.jboss.ejb.txtimer.TimerImpl] setTimerState: started_in_tx
      2006-11-26 17:20:48,010 DEBUG [org.jboss.ejb.txtimer.TimerImpl] commit: [id=1,target=[target=jboss.j2ee:service=EJB3,ear=10MinuteMail.ear,jar=jboss-seam.jar,name=Dispatcher],remaining=-212,periode=60000,started_in_tx]
      2006-11-26 17:20:48,011 DEBUG [org.jboss.ejb.txtimer.TimerImpl] run: [id=1,target=[target=jboss.j2ee:service=EJB3,ear=10MinuteMail.ear,jar=jboss-seam.jar,name=Dispatcher],remaining=-213,periode=60000,started_in_tx]
      2006-11-26 17:20:48,011 DEBUG [org.jboss.ejb.txtimer.TimerImpl] setTimerState: in_timeout
      2006-11-26 17:20:48,012 DEBUG [org.jboss.seam.Component] initializing new instance of: org.jboss.seam.core.dispatcher
      2006-11-26 17:20:48,012 DEBUG [org.jboss.seam.Component] done initializing: org.jboss.seam.core.dispatcher
      2006-11-26 17:20:48,012 DEBUG [org.jboss.seam.contexts.Lifecycle] >>> Begin call
      2006-11-26 17:20:48,017 DEBUG [org.jboss.seam.contexts.Lifecycle] destroying business process context
      2006-11-26 17:20:48,017 DEBUG [org.jboss.seam.Component] instantiating Seam component: org.jboss.seam.core.manager
      2006-11-26 17:20:48,017 DEBUG [org.jboss.seam.Component] initializing new instance of: org.jboss.seam.core.manager
      2006-11-26 17:20:48,017 DEBUG [org.jboss.seam.Component] done initializing: org.jboss.seam.core.manager
      2006-11-26 17:20:48,017 DEBUG [org.jboss.seam.contexts.Lifecycle] destroying conversation context
      2006-11-26 17:20:48,017 DEBUG [org.jboss.seam.contexts.Lifecycle] flushing server-side conversation context
      2006-11-26 17:20:48,018 DEBUG [org.jboss.seam.Component] instantiating Seam component: org.jboss.seam.core.conversationEntries
      2006-11-26 17:20:48,018 DEBUG [org.jboss.seam.Component] initializing new instance of: org.jboss.seam.core.conversationEntries
      2006-11-26 17:20:48,018 DEBUG [org.jboss.seam.Component] done initializing: org.jboss.seam.core.conversationEntries
      2006-11-26 17:20:48,018 DEBUG [org.jboss.seam.contexts.Lifecycle] flushing session context
      2006-11-26 17:20:48,018 DEBUG [org.jboss.seam.contexts.Lifecycle] destroying event context
      2006-11-26 17:20:48,018 DEBUG [org.jboss.seam.contexts.Contexts] destroying: org.jboss.seam.core.manager
      2006-11-26 17:20:48,018 DEBUG [org.jboss.seam.contexts.Lifecycle] <<< End call
      2006-11-26 17:20:48,019 DEBUG [org.jboss.seam.contexts.Lifecycle] >>> Begin call
      2006-11-26 17:20:48,019 DEBUG [org.jboss.seam.contexts.Contexts] found in application context: emailService
      2006-11-26 17:20:48,019 DEBUG [org.jboss.ejb.txtimer.TimerImpl] setTimerState: active
      2006-11-26 17:20:48,028 DEBUG [org.jboss.seam.Component] instantiating Seam component: org.jboss.seam.core.manager
      2006-11-26 17:20:48,028 DEBUG [org.jboss.seam.Component] initializing new instance of: org.jboss.seam.core.manager
      2006-11-26 17:20:48,028 DEBUG [org.jboss.seam.Component] done initializing: org.jboss.seam.core.manager
      2006-11-26 17:20:48,029 DEBUG [org.jboss.seam.Component] trying to inject with hierarchical context search: emailManager
      2006-11-26 17:20:48,029 DEBUG [org.jboss.seam.contexts.Contexts] found in application context: emailManager
      2006-11-26 17:20:48,029 DEBUG [org.jboss.seam.Component] trying to inject with hierarchical context search: IMAPClient
      2006-11-26 17:20:48,029 DEBUG [org.jboss.seam.Component] instantiating Seam component: IMAPClient
      2006-11-26 17:20:48,078 DEBUG [org.jboss.seam.Component] initializing new instance of: IMAPClient
      2006-11-26 17:20:48,078 DEBUG [org.jboss.seam.Component] done initializing: IMAPClient
      2006-11-26 17:20:48,078 DEBUG [org.jboss.seam.Component] instantiating Seam component: org.jboss.seam.core.interpolator
      2006-11-26 17:20:48,079 DEBUG [org.jboss.seam.Component] initializing new instance of: org.jboss.seam.core.interpolator
      2006-11-26 17:20:48,079 DEBUG [org.jboss.seam.Component] done initializing: org.jboss.seam.core.interpolator
      2006-11-26 17:20:48,079 INFO [com.digitalsanctuary.mail.IMAPClient] Starting up...
      2006-11-26 17:20:48,079 DEBUG [org.jboss.seam.Component] instantiating Seam component: org.jboss.seam.core.persistenceContexts
      2006-11-26 17:20:48,079 DEBUG [org.jboss.seam.Component] initializing new instance of: org.jboss.seam.core.persistenceContexts
      2006-11-26 17:20:48,079 DEBUG [org.jboss.seam.Component] done initializing: org.jboss.seam.core.persistenceContexts
      2006-11-26 17:20:48,080 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRepository, repository=org.jboss.mx.loading.HeirarchicalLoaderRepository3@e2d858, cl=org.jboss.mx.loading.HeirarchicalLoaderRepository3$CacheClassLoader@174a144{ url=null ,addedOrder=0}
      2006-11-26 17:20:48,080 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRepository, repository=org.jboss.mx.loading.HeirarchicalLoaderRepository3@e2d858, cl=org.jboss.mx.loading.HeirarchicalLoaderRepository3$CacheClassLoader@1fe500a{ url=null ,addedOrder=0}
      2006-11-26 17:20:48,081 DEBUG [org.jboss.seam.Component] instantiating Seam component: org.jboss.seam.core.interpolator
      2006-11-26 17:20:48,081 DEBUG [org.jboss.seam.Component] initializing new instance of: org.jboss.seam.core.interpolator
      2006-11-26 17:20:48,081 DEBUG [org.jboss.seam.Component] done initializing: org.jboss.seam.core.interpolator
      2006-11-26 17:20:48,081 INFO [com.digitalsanctuary.seam.EmailService] proccessEmailsReccurring running...
      2006-11-26 17:20:48,081 DEBUG [org.jboss.seam.Component] instantiating Seam component: org.jboss.seam.core.interpolator
      2006-11-26 17:20:48,081 DEBUG [org.jboss.seam.Component] initializing new instance of: org.jboss.seam.core.interpolator
      2006-11-26 17:20:48,081 DEBUG [org.jboss.seam.Component] done initializing: org.jboss.seam.core.interpolator
      2006-11-26 17:20:48,081 INFO [com.digitalsanctuary.mail.IMAPClient] entering getNewMessages...
      2006-11-26 17:20:48,082 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRepository, repository=org.jboss.mx.loading.HeirarchicalLoaderRepository3@e2d858, cl=org.jboss.mx.loading.HeirarchicalLoaderRepository3$CacheClassLoader@138d2fc{ url=null ,addedOrder=0}
      2006-11-26 17:20:48,147 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRepository, repository=org.jboss.mx.loading.HeirarchicalLoaderRepository3@e2d858, cl=org.jboss.mx.loading.HeirarchicalLoaderRepository3$CacheClassLoader@1b1deea{ url=null ,addedOrder=0}
      2006-11-26 17:20:48,213 DEBUG [org.jboss.seam.contexts.Contexts] destroying: org.jboss.seam.core.manager
      2006-11-26 17:20:48,213 INFO [org.jboss.seam.init.Initialization] done initializing Seam
      2006-11-26 17:20:50,241 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRepository, repository=org.jboss.mx.loading.HeirarchicalLoaderRepository3@e2d858, cl=org.jboss.mx.loading.HeirarchicalLoaderRepository3$CacheClassLoader@ce82cc{ url=null ,addedOrder=0}
      2006-11-26 17:20:50,655 DEBUG [org.jboss.seam.Component] instantiating Seam component: org.jboss.seam.core.interpolator
      2006-11-26 17:20:50,655 DEBUG [org.jboss.seam.Component] initializing new instance of: org.jboss.seam.core.interpolator
      2006-11-26 17:20:50,655 DEBUG [org.jboss.seam.Component] done initializing: org.jboss.seam.core.interpolator
      2006-11-26 17:20:50,655 INFO [com.digitalsanctuary.mail.IMAPClient] E-mail picked up with content type=TEXT/PLAIN; charset=UTF-8
      2006-11-26 17:20:50,656 DEBUG [org.jboss.seam.Component] instantiating Seam component: org.jboss.seam.core.interpolator
      2006-11-26 17:20:50,656 DEBUG [org.jboss.seam.Component] initializing new instance of: org.jboss.seam.core.interpolator
      2006-11-26 17:20:50,656 DEBUG [org.jboss.seam.Component] done initializing: org.jboss.seam.core.interpolator
      2006-11-26 17:20:50,656 INFO [com.digitalsanctuary.mail.IMAPClient] setting up plain message
      2006-11-26 17:20:50,811 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRepository, repository=org.jboss.mx.loading.HeirarchicalLoaderRepository3@e2d858, cl=org.jboss.mx.loading.HeirarchicalLoaderRepository3$CacheClassLoader@1b57dcb{ url=null ,addedOrder=0}
      2006-11-26 17:20:50,813 DEBUG [org.jboss.seam.Component] instantiating Seam component: org.jboss.seam.core.interpolator
      2006-11-26 17:20:50,813 DEBUG [org.jboss.seam.Component] initializing new instance of: org.jboss.seam.core.interpolator
      2006-11-26 17:20:50,813 DEBUG [org.jboss.seam.Component] done initializing: org.jboss.seam.core.interpolator
      2006-11-26 17:20:50,813 INFO [com.digitalsanctuary.mail.IMAPClient] E-mail picked up with content type=multipart/ALTERNATIVE; boundary="(AlternativeBoundary)"
      2006-11-26 17:20:50,813 DEBUG [org.jboss.seam.Component] instantiating Seam component: org.jboss.seam.core.interpolator
      2006-11-26 17:20:50,813 DEBUG [org.jboss.seam.Component] initializing new instance of: org.jboss.seam.core.interpolator
      2006-11-26 17:20:50,813 DEBUG [org.jboss.seam.Component] done initializing: org.jboss.seam.core.interpolator
      2006-11-26 17:20:50,813 INFO [com.digitalsanctuary.mail.IMAPClient] setting up rich message
      2006-11-26 17:20:50,814 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRepository, repository=org.jboss.mx.loading.HeirarchicalLoaderRepository3@e2d858, cl=org.jboss.mx.loading.HeirarchicalLoaderRepository3$CacheClassLoader@55a58f{ url=null ,addedOrder=0}
      2006-11-26 17:20:50,834 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRepository, repository=org.jboss.mx.loading.HeirarchicalLoaderRepository3@e2d858, cl=org.jboss.mx.loading.HeirarchicalLoaderRepository3$CacheClassLoader@d2bb53{ url=null ,addedOrder=0}
      2006-11-26 17:20:50,873 DEBUG [org.jboss.seam.Component] instantiating Seam component: org.jboss.seam.core.interpolator
      2006-11-26 17:20:50,873 DEBUG [org.jboss.seam.Component] initializing new instance of: org.jboss.seam.core.interpolator
      2006-11-26 17:20:50,873 DEBUG [org.jboss.seam.Component] done initializing: org.jboss.seam.core.interpolator
      2006-11-26 17:20:50,873 INFO [com.digitalsanctuary.mail.IMAPClient] E-mail picked up with content type=TEXT/PLAIN; charset=ISO-8859-2; format=flowed
      2006-11-26 17:20:50,873 DEBUG [org.jboss.seam.Component] instantiating Seam component: org.jboss.seam.core.interpolator
      2006-11-26 17:20:50,873 DEBUG [org.jboss.seam.Component] initializing new instance of: org.jboss.seam.core.interpolator
      2006-11-26 17:20:50,873 DEBUG [org.jboss.seam.Component] done initializing: org.jboss.seam.core.interpolator
      2006-11-26 17:20:50,873 INFO [com.digitalsanctuary.mail.IMAPClient] setting up plain message
      2006-11-26 17:20:50,879 DEBUG [org.jboss.seam.Component] instantiating Seam component: org.jboss.seam.core.interpolator
      2006-11-26 17:20:50,879 DEBUG [org.jboss.seam.Component] initializing new instance of: org.jboss.seam.core.interpolator
      2006-11-26 17:20:50,879 DEBUG [org.jboss.seam.Component] done initializing: org.jboss.seam.core.interpolator
      2006-11-26 17:20:50,879 INFO [com.digitalsanctuary.mail.IMAPClient] E-mail picked up with content type=multipart/ALTERNATIVE;
      
       boundary="----=_Part_91406_17400087.1164590059328"
      2006-11-26 17:20:50,879 DEBUG [org.jboss.seam.Component] instantiating Seam component: org.jboss.seam.core.interpolator
      2006-11-26 17:20:50,879 DEBUG [org.jboss.seam.Component] initializing new instance of: org.jboss.seam.core.interpolator
      2006-11-26 17:20:50,879 DEBUG [org.jboss.seam.Component] done initializing: org.jboss.seam.core.interpolator
      2006-11-26 17:20:50,879 INFO [com.digitalsanctuary.mail.IMAPClient] setting up rich message
      2006-11-26 17:20:50,887 DEBUG [org.jboss.seam.Component] instantiating Seam component: org.jboss.seam.core.interpolator
      2006-11-26 17:20:50,887 DEBUG [org.jboss.seam.Component] initializing new instance of: org.jboss.seam.core.interpolator
      2006-11-26 17:20:50,887 DEBUG [org.jboss.seam.Component] done initializing: org.jboss.seam.core.interpolator
      2006-11-26 17:20:50,887 INFO [com.digitalsanctuary.mail.IMAPClient] E-mail picked up with content type=TEXT/PLAIN; charset=iso-8859-1
      2006-11-26 17:20:50,887 DEBUG [org.jboss.seam.Component] instantiating Seam component: org.jboss.seam.core.interpolator
      2006-11-26 17:20:50,887 DEBUG [org.jboss.seam.Component] initializing new instance of: org.jboss.seam.core.interpolator
      2006-11-26 17:20:50,887 DEBUG [org.jboss.seam.Component] done initializing: org.jboss.seam.core.interpolator
      2006-11-26 17:20:50,887 INFO [com.digitalsanctuary.mail.IMAPClient] setting up plain message
      2006-11-26 17:20:51,001 DEBUG [org.jboss.seam.contexts.Contexts] found in conversation context: org.jboss.seam.core.persistenceContexts
      2006-11-26 17:20:51,003 DEBUG [org.jboss.seam.util.Naming] JNDI InitialContext properties:{java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory, java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces}
      2006-11-26 17:20:51,007 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRepository, repository=org.jboss.mx.loading.HeirarchicalLoaderRepository3@e2d858, cl=org.jboss.mx.loading.HeirarchicalLoaderRepository3$CacheClassLoader@16b4e30{ url=null ,addedOrder=0}
      2006-11-26 17:20:51,008 DEBUG [org.jboss.seam.contexts.Contexts] found in conversation context: org.jboss.seam.core.persistenceContexts
      2006-11-26 17:20:51,008 DEBUG [org.jboss.seam.util.Naming] JNDI InitialContext properties:{java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory, java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces}
      2006-11-26 17:20:51,008 DEBUG [org.jboss.seam.contexts.Lifecycle] destroying business process context
      2006-11-26 17:20:51,009 DEBUG [org.jboss.seam.contexts.Lifecycle] destroying conversation context
      2006-11-26 17:20:51,009 DEBUG [org.jboss.seam.contexts.Contexts] destroying: org.jboss.seam.core.persistenceContexts
      2006-11-26 17:20:51,009 DEBUG [org.jboss.seam.contexts.Lifecycle] flushing server-side conversation context
      2006-11-26 17:20:51,009 DEBUG [org.jboss.seam.Component] instantiating Seam component: org.jboss.seam.core.conversationEntries
      2006-11-26 17:20:51,009 DEBUG [org.jboss.seam.Component] initializing new instance of: org.jboss.seam.core.conversationEntries
      2006-11-26 17:20:51,009 DEBUG [org.jboss.seam.Component] done initializing: org.jboss.seam.core.conversationEntries
      2006-11-26 17:20:51,009 DEBUG [org.jboss.seam.contexts.Lifecycle] flushing session context
      2006-11-26 17:20:51,009 DEBUG [org.jboss.seam.contexts.Lifecycle] destroying event context
      2006-11-26 17:20:51,009 DEBUG [org.jboss.seam.contexts.Contexts] destroying: org.jboss.seam.core.manager
      2006-11-26 17:20:51,009 DEBUG [org.jboss.seam.contexts.Contexts] destroying: timer
      2006-11-26 17:20:51,009 DEBUG [org.jboss.seam.contexts.Lifecycle] <<< End call
      2006-11-26 17:20:51,010 DEBUG [org.jboss.seam.contexts.Lifecycle] >>> Begin call
      2006-11-26 17:20:51,010 DEBUG [org.jboss.seam.contexts.Lifecycle] destroying business process context
      2006-11-26 17:20:51,010 DEBUG [org.jboss.seam.Component] instantiating Seam component: org.jboss.seam.core.manager
      2006-11-26 17:20:51,010 DEBUG [org.jboss.seam.Component] initializing new instance of: org.jboss.seam.core.manager
      2006-11-26 17:20:51,011 DEBUG [org.jboss.seam.Component] done initializing: org.jboss.seam.core.manager
      2006-11-26 17:20:51,011 DEBUG [org.jboss.seam.contexts.Lifecycle] destroying conversation context
      2006-11-26 17:20:51,011 DEBUG [org.jboss.seam.contexts.Lifecycle] flushing server-side conversation context
      2006-11-26 17:20:51,011 DEBUG [org.jboss.seam.Component] instantiating Seam component: org.jboss.seam.core.conversationEntries
      2006-11-26 17:20:51,011 DEBUG [org.jboss.seam.Component] initializing new instance of: org.jboss.seam.core.conversationEntries
      2006-11-26 17:20:51,011 DEBUG [org.jboss.seam.Component] done initializing: org.jboss.seam.core.conversationEntries
      2006-11-26 17:20:51,011 DEBUG [org.jboss.seam.contexts.Lifecycle] flushing session context
      2006-11-26 17:20:51,011 DEBUG [org.jboss.seam.contexts.Lifecycle] destroying event context
      2006-11-26 17:20:51,011 DEBUG [org.jboss.seam.contexts.Contexts] destroying: org.jboss.seam.core.manager
      2006-11-26 17:20:51,011 DEBUG [org.jboss.seam.contexts.Lifecycle] <<< End call
      2006-11-26 17:20:51,011 ERROR [org.jboss.ejb.txtimer.TimerImpl] Error invoking ejbTimeout: javax.ejb.EJBException: java.lang.NullPointerException
      


      and another one after the timer has already been running for a while:


      2006-11-26 17:21:48,016 DEBUG [org.jboss.ejb.txtimer.TimerImpl] run: [id=1,target=[target=jboss.j2ee:service=EJB3,ear=10MinuteMail.ear,jar=jboss-seam.jar,name=Dispatcher],remaining=-218,periode=60000,active]
      2006-11-26 17:21:48,016 DEBUG [org.jboss.ejb.txtimer.TimerImpl] setTimerState: in_timeout
      2006-11-26 17:21:48,016 DEBUG [org.jboss.seam.Component] initializing new instance of: org.jboss.seam.core.dispatcher
      2006-11-26 17:21:48,017 DEBUG [org.jboss.seam.Component] done initializing: org.jboss.seam.core.dispatcher
      2006-11-26 17:21:48,017 DEBUG [org.jboss.seam.contexts.Lifecycle] >>> Begin call
      2006-11-26 17:21:48,017 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.preDestroyContext.SESSION
      2006-11-26 17:21:48,017 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.postDestroyContext.SESSION
      2006-11-26 17:21:48,017 DEBUG [org.jboss.seam.contexts.Lifecycle] destroying business process context
      2006-11-26 17:21:48,017 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.preDestroyContext.BUSINESS_PROCESS
      2006-11-26 17:21:48,017 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.postDestroyContext.BUSINESS_PROCESS
      2006-11-26 17:21:48,017 DEBUG [org.jboss.seam.Component] instantiating Seam component: org.jboss.seam.core.manager
      2006-11-26 17:21:48,017 DEBUG [org.jboss.seam.Component] initializing new instance of: org.jboss.seam.core.manager
      2006-11-26 17:21:48,017 DEBUG [org.jboss.seam.Component] done initializing: org.jboss.seam.core.manager
      2006-11-26 17:21:48,017 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.preSetVariable.org.jboss.seam.core.manager
      2006-11-26 17:21:48,017 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.postSetVariable.org.jboss.seam.core.manager
      2006-11-26 17:21:48,017 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.postCreate.org.jboss.seam.core.manager
      2006-11-26 17:21:48,017 DEBUG [org.jboss.seam.contexts.Lifecycle] destroying conversation context
      2006-11-26 17:21:48,018 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.preDestroyContext.CONVERSATION
      2006-11-26 17:21:48,018 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.postDestroyContext.CONVERSATION
      2006-11-26 17:21:48,018 DEBUG [org.jboss.seam.contexts.Lifecycle] flushing server-side conversation context
      2006-11-26 17:21:48,018 DEBUG [org.jboss.seam.Component] instantiating Seam component: org.jboss.seam.core.conversationEntries
      2006-11-26 17:21:48,018 DEBUG [org.jboss.seam.Component] initializing new instance of: org.jboss.seam.core.conversationEntries
      2006-11-26 17:21:48,018 DEBUG [org.jboss.seam.Component] done initializing: org.jboss.seam.core.conversationEntries
      2006-11-26 17:21:48,018 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.preSetVariable.org.jboss.seam.core.conversationEntries
      2006-11-26 17:21:48,018 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.postSetVariable.org.jboss.seam.core.conversationEntries
      2006-11-26 17:21:48,018 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.postCreate.org.jboss.seam.core.conversationEntries
      2006-11-26 17:21:48,018 DEBUG [org.jboss.seam.contexts.Lifecycle] flushing session context
      2006-11-26 17:21:48,018 DEBUG [org.jboss.seam.contexts.Lifecycle] destroying event context
      2006-11-26 17:21:48,018 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.preDestroyContext.EVENT
      2006-11-26 17:21:48,018 DEBUG [org.jboss.seam.contexts.Contexts] destroying: org.jboss.seam.core.manager
      2006-11-26 17:21:48,018 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.preDestroy.org.jboss.seam.core.manager
      2006-11-26 17:21:48,018 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.postDestroyContext.EVENT
      2006-11-26 17:21:48,018 DEBUG [org.jboss.seam.contexts.Lifecycle] <<< End call
      2006-11-26 17:21:48,018 DEBUG [org.jboss.seam.contexts.Lifecycle] >>> Begin call
      2006-11-26 17:21:48,019 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.preSetVariable.org.jboss.seam.core.executingAsynchronousCall
      2006-11-26 17:21:48,019 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.postSetVariable.org.jboss.seam.core.executingAsynchronousCall
      2006-11-26 17:21:48,019 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.preSetVariable.timer
      2006-11-26 17:21:48,019 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.postSetVariable.timer
      2006-11-26 17:21:48,019 DEBUG [org.jboss.seam.contexts.Contexts] found in application context: emailService
      2006-11-26 17:21:48,019 DEBUG [org.jboss.seam.Component] instantiating Seam component: org.jboss.seam.core.manager
      2006-11-26 17:21:48,019 DEBUG [org.jboss.seam.Component] initializing new instance of: org.jboss.seam.core.manager
      2006-11-26 17:21:48,019 DEBUG [org.jboss.seam.Component] done initializing: org.jboss.seam.core.manager
      2006-11-26 17:21:48,019 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.preSetVariable.org.jboss.seam.core.manager
      2006-11-26 17:21:48,019 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.postSetVariable.org.jboss.seam.core.manager
      2006-11-26 17:21:48,019 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.postCreate.org.jboss.seam.core.manager
      2006-11-26 17:21:48,020 DEBUG [org.jboss.seam.Component] trying to inject with hierarchical context search: emailManager
      2006-11-26 17:21:48,020 DEBUG [org.jboss.seam.contexts.Contexts] found in application context: emailManager
      2006-11-26 17:21:48,020 DEBUG [org.jboss.seam.Component] trying to inject with hierarchical context search: IMAPClient
      2006-11-26 17:21:48,020 DEBUG [org.jboss.seam.contexts.Contexts] found in application context: IMAPClient
      2006-11-26 17:21:48,020 DEBUG [org.jboss.seam.Component] instantiating Seam component: org.jboss.seam.core.interpolator
      2006-11-26 17:21:48,020 DEBUG [org.jboss.seam.Component] initializing new instance of: org.jboss.seam.core.interpolator
      2006-11-26 17:21:48,020 DEBUG [org.jboss.seam.Component] done initializing: org.jboss.seam.core.interpolator
      2006-11-26 17:21:48,020 INFO [com.digitalsanctuary.seam.EmailService] proccessEmailsReccurring running...
      2006-11-26 17:21:48,020 DEBUG [org.jboss.seam.Component] instantiating Seam component: org.jboss.seam.core.interpolator
      2006-11-26 17:21:48,020 DEBUG [org.jboss.seam.Component] initializing new instance of: org.jboss.seam.core.interpolator
      2006-11-26 17:21:48,020 DEBUG [org.jboss.seam.Component] done initializing: org.jboss.seam.core.interpolator
      2006-11-26 17:21:48,020 INFO [com.digitalsanctuary.mail.IMAPClient] entering getNewMessages...
      2006-11-26 17:21:48,281 DEBUG [org.jboss.seam.Component] instantiating Seam component: org.jboss.seam.core.interpolator
      2006-11-26 17:21:48,281 DEBUG [org.jboss.seam.Component] initializing new instance of: org.jboss.seam.core.interpolator
      2006-11-26 17:21:48,281 DEBUG [org.jboss.seam.Component] done initializing: org.jboss.seam.core.interpolator
      2006-11-26 17:21:48,281 INFO [com.digitalsanctuary.mail.IMAPClient] E-mail picked up with content type=TEXT/PLAIN; charset=US-ASCII; format=flowed
      2006-11-26 17:21:48,281 DEBUG [org.jboss.seam.Component] instantiating Seam component: org.jboss.seam.core.interpolator
      2006-11-26 17:21:48,281 DEBUG [org.jboss.seam.Component] initializing new instance of: org.jboss.seam.core.interpolator
      2006-11-26 17:21:48,281 DEBUG [org.jboss.seam.Component] done initializing: org.jboss.seam.core.interpolator
      2006-11-26 17:21:48,281 INFO [com.digitalsanctuary.mail.IMAPClient] setting up plain message
      2006-11-26 17:21:48,285 DEBUG [org.jboss.seam.Component] instantiating Seam component: org.jboss.seam.core.interpolator
      2006-11-26 17:21:48,286 DEBUG [org.jboss.seam.Component] initializing new instance of: org.jboss.seam.core.interpolator
      2006-11-26 17:21:48,286 DEBUG [org.jboss.seam.Component] done initializing: org.jboss.seam.core.interpolator
      2006-11-26 17:21:48,286 INFO [com.digitalsanctuary.mail.IMAPClient] E-mail picked up with content type=TEXT/PLAIN; charset=iso-8859-1
      2006-11-26 17:21:48,286 DEBUG [org.jboss.seam.Component] instantiating Seam component: org.jboss.seam.core.interpolator
      2006-11-26 17:21:48,286 DEBUG [org.jboss.seam.Component] initializing new instance of: org.jboss.seam.core.interpolator
      2006-11-26 17:21:48,286 DEBUG [org.jboss.seam.Component] done initializing: org.jboss.seam.core.interpolator
      2006-11-26 17:21:48,286 INFO [com.digitalsanctuary.mail.IMAPClient] setting up plain message
      2006-11-26 17:21:48,317 DEBUG [org.jboss.seam.Component] instantiating Seam component: org.jboss.seam.core.persistenceContexts
      2006-11-26 17:21:48,317 DEBUG [org.jboss.seam.Component] initializing new instance of: org.jboss.seam.core.persistenceContexts
      2006-11-26 17:21:48,317 DEBUG [org.jboss.seam.Component] done initializing: org.jboss.seam.core.persistenceContexts
      2006-11-26 17:21:48,317 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.preSetVariable.org.jboss.seam.core.persistenceContexts
      2006-11-26 17:21:48,317 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.postSetVariable.org.jboss.seam.core.persistenceContexts
      2006-11-26 17:21:48,317 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.postCreate.org.jboss.seam.core.persistenceContexts
      2006-11-26 17:21:48,318 DEBUG [org.jboss.seam.util.Naming] JNDI InitialContext properties:{java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory, java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces}
      2006-11-26 17:21:48,318 DEBUG [org.jboss.seam.contexts.Contexts] found in conversation context: org.jboss.seam.core.persistenceContexts
      2006-11-26 17:21:48,318 DEBUG [org.jboss.seam.util.Naming] JNDI InitialContext properties:{java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory, java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces}
      2006-11-26 17:21:48,319 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.preRemoveVariable.org.jboss.seam.core.executingAsynchronousCall
      2006-11-26 17:21:48,319 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.postRemoveVariable.org.jboss.seam.core.executingAsynchronousCall
      2006-11-26 17:21:48,319 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.preDestroyContext.SESSION
      2006-11-26 17:21:48,319 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.postDestroyContext.SESSION
      2006-11-26 17:21:48,319 DEBUG [org.jboss.seam.contexts.Lifecycle] destroying business process context
      2006-11-26 17:21:48,319 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.preDestroyContext.BUSINESS_PROCESS
      2006-11-26 17:21:48,319 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.postDestroyContext.BUSINESS_PROCESS
      2006-11-26 17:21:48,319 DEBUG [org.jboss.seam.contexts.Lifecycle] destroying conversation context
      2006-11-26 17:21:48,319 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.preDestroyContext.CONVERSATION
      2006-11-26 17:21:48,319 DEBUG [org.jboss.seam.contexts.Contexts] destroying: org.jboss.seam.core.persistenceContexts
      2006-11-26 17:21:48,320 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.preDestroy.org.jboss.seam.core.persistenceContexts
      2006-11-26 17:21:48,320 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.postDestroyContext.CONVERSATION
      2006-11-26 17:21:48,320 DEBUG [org.jboss.seam.contexts.Lifecycle] flushing server-side conversation context
      2006-11-26 17:21:48,320 DEBUG [org.jboss.seam.Component] instantiating Seam component: org.jboss.seam.core.conversationEntries
      2006-11-26 17:21:48,320 DEBUG [org.jboss.seam.Component] initializing new instance of: org.jboss.seam.core.conversationEntries
      2006-11-26 17:21:48,320 DEBUG [org.jboss.seam.Component] done initializing: org.jboss.seam.core.conversationEntries
      2006-11-26 17:21:48,320 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.preSetVariable.org.jboss.seam.core.conversationEntries
      2006-11-26 17:21:48,320 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.postSetVariable.org.jboss.seam.core.conversationEntries
      2006-11-26 17:21:48,320 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.postCreate.org.jboss.seam.core.conversationEntries
      2006-11-26 17:21:48,320 DEBUG [org.jboss.seam.contexts.Lifecycle] flushing session context
      2006-11-26 17:21:48,320 DEBUG [org.jboss.seam.contexts.Lifecycle] destroying event context
      2006-11-26 17:21:48,320 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.preDestroyContext.EVENT
      2006-11-26 17:21:48,320 DEBUG [org.jboss.seam.contexts.Contexts] destroying: org.jboss.seam.core.manager
      2006-11-26 17:21:48,320 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.preDestroy.org.jboss.seam.core.manager
      2006-11-26 17:21:48,320 DEBUG [org.jboss.seam.contexts.Contexts] destroying: timer
      2006-11-26 17:21:48,320 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.postDestroyContext.EVENT
      2006-11-26 17:21:48,320 DEBUG [org.jboss.seam.contexts.Lifecycle] <<< End call
      2006-11-26 17:21:48,321 DEBUG [org.jboss.seam.contexts.Lifecycle] >>> Begin call
      2006-11-26 17:21:48,321 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.preDestroyContext.SESSION
      2006-11-26 17:21:48,321 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.postDestroyContext.SESSION
      2006-11-26 17:21:48,321 DEBUG [org.jboss.seam.contexts.Lifecycle] destroying business process context
      2006-11-26 17:21:48,321 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.preDestroyContext.BUSINESS_PROCESS
      2006-11-26 17:21:48,321 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.postDestroyContext.BUSINESS_PROCESS
      2006-11-26 17:21:48,321 DEBUG [org.jboss.seam.Component] instantiating Seam component: org.jboss.seam.core.manager
      2006-11-26 17:21:48,321 DEBUG [org.jboss.seam.Component] initializing new instance of: org.jboss.seam.core.manager
      2006-11-26 17:21:48,321 DEBUG [org.jboss.seam.Component] done initializing: org.jboss.seam.core.manager
      2006-11-26 17:21:48,321 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.preSetVariable.org.jboss.seam.core.manager
      2006-11-26 17:21:48,321 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.postSetVariable.org.jboss.seam.core.manager
      2006-11-26 17:21:48,321 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.postCreate.org.jboss.seam.core.manager
      2006-11-26 17:21:48,321 DEBUG [org.jboss.seam.contexts.Lifecycle] destroying conversation context
      2006-11-26 17:21:48,321 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.preDestroyContext.CONVERSATION
      2006-11-26 17:21:48,321 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.postDestroyContext.CONVERSATION
      2006-11-26 17:21:48,321 DEBUG [org.jboss.seam.contexts.Lifecycle] flushing server-side conversation context
      2006-11-26 17:21:48,322 DEBUG [org.jboss.seam.Component] instantiating Seam component: org.jboss.seam.core.conversationEntries
      2006-11-26 17:21:48,322 DEBUG [org.jboss.seam.Component] initializing new instance of: org.jboss.seam.core.conversationEntries
      2006-11-26 17:21:48,322 DEBUG [org.jboss.seam.Component] done initializing: org.jboss.seam.core.conversationEntries
      2006-11-26 17:21:48,322 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.preSetVariable.org.jboss.seam.core.conversationEntries
      2006-11-26 17:21:48,322 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.postSetVariable.org.jboss.seam.core.conversationEntries
      2006-11-26 17:21:48,322 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.postCreate.org.jboss.seam.core.conversationEntries
      2006-11-26 17:21:48,322 DEBUG [org.jboss.seam.contexts.Lifecycle] flushing session context
      2006-11-26 17:21:48,322 DEBUG [org.jboss.seam.contexts.Lifecycle] destroying event context
      2006-11-26 17:21:48,322 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.preDestroyContext.EVENT
      2006-11-26 17:21:48,322 DEBUG [org.jboss.seam.contexts.Contexts] destroying: org.jboss.seam.core.manager
      2006-11-26 17:21:48,322 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.preDestroy.org.jboss.seam.core.manager
      2006-11-26 17:21:48,322 DEBUG [org.jboss.seam.core.Events] Processing event:org.jboss.seam.postDestroyContext.EVENT
      2006-11-26 17:21:48,322 DEBUG [org.jboss.seam.contexts.Lifecycle] <<< End call
      2006-11-26 17:21:48,322 ERROR [org.jboss.ejb.txtimer.TimerImpl] Error invoking ejbTimeout: javax.ejb.EJBException: java.lang.NullPointerException
      2006-11-26 17:21:48,322 DEBUG [org.jboss.ejb.txtimer.TimerImpl] Timer was not registered with Tx, resetting state: [id=1,target=[target=jboss.j2ee:service=EJB3,ear=10MinuteMail.ear,jar=jboss-seam.jar,name=Dispatcher],remaining=59476,periode=60000,in_timeout]
      2006-11-26 17:21:48,322 DEBUG [org.jboss.ejb.txtimer.TimerImpl] setTimerState: active
      


        • 1. Re: Timer issue just broke my site after a week of no issues
          modoc

          I am using jboss 4.0.5, installed with the jmes installer, and the error started happening when i was using seam 1.0.1. I upgraded to 1.1 just now in an attempt to fix it, but the error persists.

          • 2. Re: Timer issue just broke my site after a week of no issues
            modoc

            So it looks like the mail checking part was taking "too long" and then things blew up. When I cleaned out the incoming mail spool, it started working without issue.

            So in the interim I can have the scheduled method execute more frequently, hence having less e-mail to process each time.

            However, I'm not sure why it became an issue? Can I tell the timer service to let it run unless it takes more than say 2 minutes?

            I'm no expert in ejb 3 timer code, and the seam wrapper even less so.

            Ideas?

            • 3. Re: Timer issue just broke my site after a week of no issues
              modoc

              And by "too long" i mean on the order of 3-10 seconds.

              • 4. Re: Timer issue just broke my site after a week of no issues
                modoc

                So this is still a problem.

                Can anyone tell me what would cause this error:

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

                to occur only when the timed task takes more than a few seconds? And what I can do about it?

                I've googled, I've searched the forums, all to no avail.

                It looks like ejbTimeout is the method that is supposed to be called to execute the method when the repeating timer counts down? Since it looks like Seam is handling the layer between my code and the actual EJB timer stuff, I'm not sure what the issue is, and I suspect that trying to get help on the EJB forum would lead to confusion.

                All I know is that it breaks my site every few hours.

                Any ideas would be really appreciated. Thanks!

                • 5. Re: Timer issue just broke my site after a week of no issues
                  gavin.king

                  You probably need to ask about this in the EJB3 forum. But you at least need to show us the stacktrace of the NPE.

                  • 6. Re: Timer issue just broke my site after a week of no issues
                    modoc

                    I did ask on the EJB3 forum, but eventually worked it out on my own. The problem is that there is no stack trace. I don't have eclipse open atm, but basically the JBoss code catches all exceptions, wraps them in an EJBException, but doesn't include the root exception, just it's msg. So you never get access to the stack trace.

                    I'm going to file a JIRA bug on it, as it makes diagnosing this sort of thing almost impossible. I had to go into my code and catch NPE and log it myself, just so I could see the stack trace.

                    Turns out some e-mail was getting delivered based on an optional x-original-to header, with a null to: header, which blew an NPE, since I had assumed that incoming e-mail would have a to address.

                    It ended up being my code's fault, but the error message not only didn't indicate that at all, but also didn't provide a stack trace or other useful into, so it took a while to track down.

                    Sorry if my posts seemed a bit panicy, but with the amount of traffic I was getting, each time it broke, the forums got lots of negative comments, etc...

                    Thanks.

                    • 7. Re: Timer issue just broke my site after a week of no issues
                      gavin.king

                      np, yes, please file a bug report on that, that is exactly the kind of thing that the ejb3 team need to know about