I tried to fix this by calling timer.cancel() during the destroy method, which seems to me is the way to handle timers during shutdown if I don´t want them to get persisted.
Now I´m having the "Could not destroy component: "componentName"
EJBNoSuchObjectException: Could not find stateful bean: " problem.
Important: I already searched the forums for that exception and found the "adjust Timeouts-solution". I did that, but I still get the exception. Furthermore, I get this for my ASyncTest class, as well as another class. Both do have in common, that they are created using @Startup.
Timeouts also do seem unlikely, because I can provoke this directly after startup - although all 3 timeout values are set to 30 minutes (or 1800 seconds).
I´m running Seam 1.1 GA on JBoss 4.0.5 GA.
Does anybody have a clue what else might go wrong during the shutdown phase? I tried to debug it, but it seems like I do not even enter the @Destroy method of my bean. Frankly, I´m completely lost on this one... :-(
Help, please, anybody?
I am experiencing the same issue - did you ever resolve this?
We disabled the persistent timer queue. It is explained in the JBoss Wiki how to do that.
As far as I know, we still do have the "Could not destroy component"-problem with any other bean, that is triggered using startup. No solution so far.
We are considering alternative implementations for timer events than the EJB timer service. In the meantime, you are at the mercy of the timer service implementation and it's capabilities.
I'm not familiar with the "Could not destroy component" problem.
+1 vote for decent timer service!
- should handle large numbers of timers
- timers should persist between restarts
- perhaps there could be a way to identify timers to "overwrite" on redeployment (i.e. repeating timers)
You should hassle the EJB3 team about this. I agree that our timer service could do with improvements. Let them know.
Could some one put a link to where in the jboss wiki I can find out how to disable the persistent timer queue? I can't seem to find it any where.