Bugs item #988143, was opened at 2004-07-09 20:15 Message generated for change (Comment added) made by lkral You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=376685&aid=988143&group_id=22866
Category: JBossServer Group: v3.2 Status: Open Resolution: None Priority: 5 Submitted By: Lars Kral (lkral) Assigned to: Nobody/Anonymous (nobody) Summary: unable to activate stateful session beans Initial Comment: When a SFSB has a reference to its own EJBObject stub either as a non-transient instance field or in the object graph of a non-transient instance field, reactivation of this EJB will fail. A client call, which triggers an activation of this bean instance, will never return and only result in a 'transaction timeout' message: [TransactionImpl] Transaction TransactionImpl:XidImpl [FormatId=257, GlobalId=linux//15, BranchQual=] timed out. status=STATUS_ACTIVE Here the relevant part of the log file: 2004-07-09 19:42:11,303 DEBUG [org.jboss.ejb.plugins.StatefulSessionFilePersistenceMana ger] Attempting to activate; [EMAIL PROTECTED] c28 2004-07-09 19:42:11,303 DEBUG [org.jboss.ejb.plugins.StatefulSessionFilePersistenceMana ger] Reading session state from: /usr/local/jboss- 3.2.5/server/default/tmp/sessions/Test1-dwgl7cj6- 4/dwgllux9-5.ser 2004-07-09 19:47:11,316 WARN [org.jboss.tm.TransactionImpl] Transaction TransactionImpl:XidImpl [FormatId=257, GlobalId=linux//15, BranchQual=] timed out. status=STATUS_ACTIVE To reproduce the described behaviour I have attached a jar file containing (deployable) SFSBs and a simple client (binary + source). Tested with: JBoss 3.2.5 / JDK 1.4.2 / SuSE 9.0 ---------------------------------------------------------------------- >Comment By: Lars Kral (lkral) Date: 2004-07-10 13:46 Message: Logged In: YES user_id=936392 Sorry, but I have to disagree. In the EJB 2.1 specs / 7.4.1, the passivation of session beans is described as follows: "The objects that are assigned to the instance�s non- transient fields after the ejbPassivate method completes must be one of the following: [...] An enterprise bean�s remote interface reference, even if the stub class is not serializable." "The container must be able to properly save and restore the reference to the home and component interfaces of the enterprise beans stored in the instance�s state even if the classes that implement the object references are not serializable." ---------------------------------------------------------------------- Comment By: Richard C. L. Li (clli) Date: 2004-07-10 09:32 Message: Logged In: YES user_id=735048 This is not a bug. You simple violate the specification of Stateful Session Bean. A stub of an remote object is not serializable. Using transient keyword is also not reliable. You have set any non-serializable instance variables to "null" in ejbPassivate() method and reestablish them to valid values in ejbActivate(). A stub of an remote object is not serializable, however, you may transform it to a handle before passivation, and transform it back to a stub before activation. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=376685&aid=988143&group_id=22866 ------------------------------------------------------- This SF.Net email sponsored by Black Hat Briefings & Training. Attend Black Hat Briefings & Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com _______________________________________________ JBoss-Development mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-development
