This content has been marked as final. Show 5 replies
and where did you hear this ?
1) as server needs to maintain pageflowscope variables
its a HashMap we are talking about. So how big could that be, especially if only the page flow scope of active task flows is stored
2) complete hierarchy of pages
However told you what you heard is new to JSF and doesn't understand how view states are handled. View state is handled by JSf, not the controller and the state is only kept for a few views (configurable)
3) Is it right?
Hi Frank, Timo
Thank you for your input.
I was also thinking on similar lines but let me wear a black hat and try to think all negatives about task-flow
1) Generally we have 10 task-flows on a page. If each flow is maintaining 10 variables. It means 10 hashmap with 10 variables. Now if 1000 users try to access this application it means (10000 hashmap objects and each with 10 variables). Point is with every new user number of hashmap instances will be multiplied.
2) We can also register beans in pageflow scope. Now if we bind UI component on such beans, then pageflow scope will not remain light weight. (I know its not good practice to bind component on pageflow beans as ui components are not serializable and they can not be passivated but still if we want to save state of ui components across the page.)
3) If by mistake we make taskflow to use new datacontrol instance. Now AM instance will be associated with task flow and AM could be memory consuming.
(I used the word 'by mistake' here because this setting should be derived from functional requirement. If functionality requires it that way, without taskflow also we will end up with 2 AM or 1 AM with two different vo instances. But yes if we set it wrongly by mistake it could be sever impact of memory consumption)
I can't think of any. If you know any downside of taskflow please share.
One thing to think about is - what is your alternative? Assuming that you won't be using taskflows (or ADF) how would you manage the saving of information for the 10 flows and thousands of users? Do you think your alternative solution would be better? Why?
Also as far as binding things to the wrong scope - bad programming can be done with any tool/framework - again not using taskflows won't solve the issue of having bad developers.
Doing performance monitoring and tuning as part of your development will solve it though :-)
I am always curious if ADF performance would improve IF
resolved during compile time....