I can travel sucessfully through a tree, by using a stateless EJB(BrowseAction)
action that updates a named Pojo(State). keeping the state. Everything session
scope (!).
In order to allow multiple windows browsing at the same time, I am trying to
use conversations(!). A quick solution without changing much code: action
starts up a conversation in the state object.
|
| ***BrowseAction:***
| @Stateful //tried stateful too
| @Name("treeSelector")
| public class BrowseAction implements Browse{
|
| //@Out(scope=ScopeType.CONVERSATION)
| @In(scope=ScopeType.CONVERSATION, value="#{state}")
@Out(scope=ScopeType.CONVERSATION)
| private State state;
|
| public String changeTree() {
| state.startConversation();
| ...
| state.setNode(new-node-id);
| return nextPage();
| }
|
|
and
| ***State: ***
| @Scope(ScopeType.CONVERSATION)
| @Stateful
| @Name("state")
| @Conversational(ifNotBegunOutcome="home")
| @Interceptors(SeamInterceptor.class)
| public class StateSB implements Serializable, State{
| ...
| @Begin
| public void startConversation() {
| System.out.println("state:startConversation:"+this);
| }
|
| @End
| public void endConversation() {
| System.out.println("state:endConversation");
| }
|
| public StateSB() {
| super();
| System.out.println("....Creating State:"+this);
| }
|
| @Remove @Destroy
| public void destroy() {System.out.println("+++++++++ destroying state" );}
|
|
With this code or all small alternatives (See @In attribs) I tried, I notice
that when I use "Scope.conversational", my state object is being destroyed
after my changeTree is being called & executed correctly. I.e. the state seems
to be never really saved back into the context (so, I got fresh page each
time). I thought the destroy is maybe inited from the BrowseAction, which is
why I tried that one to be stateful... If I change state to SESSION again,
everything works fine, no destructions (but then 2 windows are not browsing
independent)
Same thing did not work leaving the State object as a POJO (cfr.
'numberguess'example Seam doc, but then without using pageflow attrib. (is this
required?) )
By the way, is it correct to use stateful EJB versus named POJOs when there is
more functionality than getters&setters?
This was intended to be a quick enhancement.. but I can't get it working :(
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3950217#3950217
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3950217
_______________________________________________
JBoss-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jboss-user