I have an administration bean that contains a list of users and then a dataTable that the user can select a user to edit or delete (or click an add button on the page to create a new user).
I wanted to start the conversation on add/edit. The problem I am having is that my methods are never called when the bean is in the conversation state. Bean: @Stateful | @Name("userAdmin") | @Interceptors(SeamInterceptor.class) | @Scope(ScopeType.CONVERSATION) | @TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED) | @RolesAllowed(Roles.USER_ADMIN) | public class UserAdminAction | extends FacesBean | implements UserAdmin | { | @In(create=true) | private EntityManager entityManager; | private List<User> users; | | @Out(required=false) @Valid | private User editingUser; | | /** | * @return Returns the editingUser. | */ | public User getEditingUser() | { | return this.editingUser; | } | | /** | * @see org.bethanyefree.beans.admin.UserAdmin#setEditingUser(org.bethanyefree.data.User) | */ | public void setEditingUser(User editingUser) | { | this.editingUser = editingUser; | } | | @Begin(join=true, ifOutcome="edit.user") | public String editUser() | { | if (editingUser == null) | return null; | | userPwordChanged = false; | initUserData(); | return "edit.user"; | } | | @Begin(join=true) | @TransactionAttribute(TransactionAttributeType.REQUIRED) | public String onLoad() | { | if (load()) | return null; | return "failed"; | } | ... | Pages.xhtml: | <pages> | <page view-id="/administration/users/index.xhtml" action="#{userAdmin.onLoad}" /> | <page view-id="/administration/users/details.xhtml" action="#{userAdmin.checkEditing}" /> | </pages> index.xhtml: <t:dataTable value="#{userAdmin.users}" | var="_user"> | ... | <t:column> | <t:commandLink | action="#{userAdmin.editUser}" | styleClass="imageButton" | rendered="#{!_user.system}"> | <b:imageButton url="edit" /> | <seam:conversationPropagation type="join"/> | <t:updateActionListener property="#{userAdmin.editingUser}" | value="#{_user}"/> | </t:commandLink> | </t:column> | ... | When I click the edit button nothing happens (setEditingUser and editUser methods are not called). If I change the bean's scope from CONVERSATION to SESSION everything works fine. I've tried just about everything I can think of: * @Begin on the onLoad, begin not on the onload * seam:link instead of commandLink * seam:link instead of commandLink with propagate = begin and @DataModel on the users and @DataModelSelection on the editingUser * Begin on the setEditingUser And a bunch of other permutations involving the propagateConversation settings in both the seam link and a param to command link, using or not using begin, using updateActionListener vs. data model and data model selection, using the data model's name vs. bean.users method of referencing. I have had no luck with any of these permutations. The only way I got it to work is using a SESSION bean (which is not what I am after). I am obviously missing something, any ideas on what? Thanks, Andrew Using Seam 1.0.1 View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3956447#3956447 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3956447 ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ JBoss-user mailing list JBoss-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jboss-user