You
mention that one of the entity beans contains a timer, but you have not
mentioned how are you holding on to that timer. Is it a "Static" reference
in the entity bean or is it a Member of the EJB? Container could
physically remove the EJB from memory at any time, how are you dealing with
this?
A
typical Timer implementation uses a thread. You cannot start or stop
threads in an EJB object. If you want to use a timer, you might want to
consider using an external object that lives outside of EJB and triggers events
on a periodic basis. If you need access to that object you might want to
create an RMI object, and deploy it into the orion JNDI tree so you can have
access to it from EJB.
-AP_
-----Original Message-----Hi!
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of Magnus Hoem
Sent: Monday, January 28, 2002 3:33 AM
To: Orion-Interest
Subject: IllegalStateException
I have a strange problem which I can't find a solution to. I am running a system with a two message-driven beans and a couple of entity beans. They are all listening to (and able to publish messages to) the same Topic. One of the entity beans contains a Timer with a couple of TimerTasks that publish messages to the topic that tells to mdb:s to do different things. I also have a jsp that refreshes itself every couple of minutes. When the system has been up and running for a while I suddenly get a very strange error. When the self-refreshing jsp-page (or load any other jsp-page connected to the system) is loaded I get "java.lang.IllegalStateException: Transaction expired (Committed)"/fontfamily> and a reference to the line in the jsp where I try to connect to the Home interface and run the create(), findByPrimaryKey() or findAll() methods. Does anybody know why this happens and have a sollution?
I log all the messages sent to the topic, and the timer-bean keeps sending messages after the error occurs...
Thanks,
Magnus
----------------------
Magnus Hoem
[EMAIL PROTECTED]
Phone: +46-8-343206
Cell: +46-733-343206