PrePassivation cleanup best practices with Seam
admin.admin.email.tld Apr 16, 2008 1:49 AMI've now converted my SFSB from conversation-scoped to session-scoped which has eliminated the sporadic conversation ended, timed out or was processing another request error (possibly due to incorrect conversation management with
@Begin(join=true)
from a dataTable getter method). I've eliminated the @Begin and @End annotations and now using session-scoped component.
So now I'm having an exception when the ejb container attempts to passivate the SFSB. There is thread about this in the ejb3 forum.
My question is, from a Seam programming perspsective, what is the recommended cleanup
activities for SFSB's generally speaking? Do we need to worry about the @In injected objects/references and mark them as @Transient?
Do we need to worry about adding a @PrePassivate interceptor callback method? Is it possible the lack of cleanup is what's causing this problem?
apparent root cause after passivation attempt by ejb container:
Caused by: java.lang.NoClassDefFoundError: org/jaxen/VariableContext at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Unknown Source) at java.lang.Class.getDeclaredMethod(Unknown Source) at org.jboss.serial.classmetamodel.ClassMetaData.lookupMethodOnHierarchy(ClassMetaData.java:102) at org.jboss.serial.classmetamodel.ClassMetaData.lookupInternalMethods(ClassMetaData.java:432) at org.jboss.serial.classmetamodel.ClassMetaData.<init>(ClassMetaData.java:122) at org.jboss.serial.classmetamodel.ClassMetamodelFactory.getClassMetaData(ClassMetamodelFactory.java:350) at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:168) at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206) at org.jboss.serial.persister.ArrayPersister.saveObjectArray(ArrayPersister.java:110) at org.jboss.serial.persister.ArrayPersister.writeData(ArrayPersister.java:101) at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276) at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206) at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithFields(RegularObjectPersister.java:182) at org.jboss.serial.persister.ObjectOutputStreamProxy.writeFields(ObjectOutputStreamProxy.java:79) at org.jboss.serial.persister.ObjectOutputStreamProxy.defaultWriteObject(ObjectOutputStreamProxy.java:68) at java.util.Vector.writeObject(Unknown Source) ... 169 more