[jboss-user] [JBoss Seam] - Re: begin-conversation in Seam2 prevents data load

damianharvey do-not-reply at jboss.com
Fri Jul 27 11:42:29 EDT 2007


I've tried to debug it, but haven't been able to find a solution.

#1 : Successful Call
On a page that successfully loads without <begin-conversation join="true"/> specified in the page.xml, the following methods get hit in this order:
- setId()
- setInstance()
- setDirty()
- find()
- getInstance()
- initInstance()
- find()
- setInstance()

#2 : Unsuccessful Call
On a page that does not load successfully (ie with begin-conversation) the following methods get hit in this order:
- setId()
- setInstance()
- setDirty()
- find()
- getInstance()

The first setInstance() will not do anything as the object hasn't been loaded from the database yet. The initInstance() is the critical piece missing from the unsuccessful call. This is called from getInstance() if instance is null. The big difference between the two is that instance is not null at setId() in #2. 

I thought that this is because instance is a property of an object (Home) that is conversationally scoped and I have opted to join this conversation. However I tried setting instance to null in my overriden find(). Instance was repopulated somewhere else between the find() and the getInstance().

I can't see a way around this at present, so would very much appreciate any help.

Thanks,

Damian.


View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4068271#4068271

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4068271



More information about the jboss-user mailing list