myfaces-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bjørn T Johansen <...@havleik.no>
Subject Re: ViewScoped bean created multiple times?
Date Sat, 08 Nov 2014 12:19:26 GMT
But if a bean can be constructed multiple times, won't @PostConstruct also be called multiple
times or am I misunderstanding the way @PostConstruct
works?
Also PriceController is ApplicationScoped, shouldn't it be ok to use @ManagedProperty?
But I did a try using Weld and CDI but I got the same result in the end...


BTJ

On Fri, 7 Nov 2014 19:31:25 -0500
Leonardo Uribe <lu4242@gmail.com> wrote:

> Hi
> 
> In my opinion, you should use @PostConstruct annotation over init method.
> 
> But the code has an entry like this:
> 
>     @ManagedProperty(value="#{priceController}")
>     private PriceController priceController;
> 
> Since this is inside a view scope bean, PriceController instance is saved
> with
> the view scope bean. It is a pitfall of JSF managed beans, solved in CDI
> beans.
> 
> My suggestions is don't use @ManagedProperty inside the view scope bean
> and instead use facesContext.getApplication().evaluateExpressionGet(...)
> to get your beans, so you can always have the right instance without include
> it into the state. The best strategy in my opinion is use request scope
> beans
> for encode behavior and view scope beans as data holders.
> 
> regards
> 
> Leonardo Uribe
> 
> 
> 2014-11-07 19:02 GMT-05:00 Thomas Andraschko <andraschko.thomas@gmail.com>:
> 
> > Constructor is called multiple times by design - thats how object
> > serialization works.
> > Serislization is enabled by default in myfaces to support
> > clustering/failover.
> >
> > No clue about viewaction - i cant use jsf 2.2.
> >
> > Am Freitag, 7. November 2014 schrieb Bjørn T Johansen :
> >
> > > 2.2, like this.:
> > >
> > > <faces-config xmlns="http://xmlns.jcp.org/xml/ns/javaee"
> > >               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > >               xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
> > >         http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd"
> > > version="2.2">
> > >
> > >
> > > No, javax.faces.PARTIAL_STATE_SAVING is set to true...
> > >
> > >
> > > BTJ
> > >
> > > On Fri, 7 Nov 2014 16:21:29 -0500
> > > Kito Mann <kito.mann@virtua.com <javascript:;>> wrote:
> > >
> > > > OK. What version do you have in your faces-config.xml file? Also, do
> > you
> > > > have javax.faces.PARTIAL_STATE_SAVING set to false in web.xml?
> > > >
> > > > ___
> > > >
> > > > Kito D. Mann | @kito99 | Author, JSF in Action
> > > > Virtua, Inc. | http://www.virtua.com | JSF/Java EE training and
> > > consulting
> > > > http://www.JSFCentral.com | @jsfcentral
> > > > +1 203-998-0403
> > > >
> > > > * Listen to the Enterprise Java Newscast: *http://
> > > > <http://blogs.jsfcentral.com/JSFNewscast/>enterprisejavanews.com
> > > > <http://ww.enterprisejavanews.com>*
> > > > * JSFCentral Interviews Podcast:
> > > > http://www.jsfcentral.com/resources/jsfcentralpodcasts/
> > > > * Sign up for the JSFCentral Newsletter:
> > > http://oi.vresp.com/?fid=ac048d0e17
> > > >
> > > > On Fri, Nov 7, 2014 at 4:09 PM, Bjørn T Johansen <btj@havleik.no
> > > <javascript:;>> wrote:
> > > >
> > > > > No bindings...  And using Myfaces 2.2.5....
> > > > >
> > > > > BTJ
> > > > >
> > > > > On Fri, 7 Nov 2014 15:57:00 -0500
> > > > > Kito Mann <kito.mann@virtua.com <javascript:;>> wrote:
> > > > >
> > > > > > Hello Bjorn,
> > > > > >
> > > > > > Do you have component bindings in your page (i.e <h:myComponent
> > > > > > binding="#{myBean.comp}"/>)? That causes the exact behavior
you're
> > > > > > describing in versions of JSF prior to 2.2. What version of
MyFaces
> > > are
> > > > > you
> > > > > > using?
> > > > > >
> > > > > > ___
> > > > > >
> > > > > > Kito D. Mann | @kito99 | Author, JSF in Action
> > > > > > Virtua, Inc. | http://www.virtua.com | JSF/Java EE training
and
> > > > > consulting
> > > > > > http://www.JSFCentral.com | @jsfcentral
> > > > > > +1 203-998-0403
> > > > > >
> > > > > > * Listen to the Enterprise Java Newscast: *http://
> > > > > > <http://blogs.jsfcentral.com/JSFNewscast/>enterprisejavanews.com
> > > > > > <http://ww.enterprisejavanews.com>*
> > > > > > * JSFCentral Interviews Podcast:
> > > > > > http://www.jsfcentral.com/resources/jsfcentralpodcasts/
> > > > > > * Sign up for the JSFCentral Newsletter:
> > > > > http://oi.vresp.com/?fid=ac048d0e17
> > > > > >
> > > > > > On Fri, Nov 7, 2014 at 3:42 PM, Bjørn T Johansen <btj@havleik.no
> > > <javascript:;>> wrote:
> > > > > >
> > > > > > > I trying to create a webapplication using request and/or
> > viewscope
> > > > > instead
> > > > > > > of sessionscope, which I have always used... (Neved needed
to
> > > concern
> > > > > > > myself with memory usage in the apps I have implemented..
:) )
> > > > > > > But I now have a problem using @ViewScoped..
> > > > > > > When I access index.xhtml which uses a managed bean in
viewscope,
> > > the
> > > > > > > constructor is called multiple times. And the same with
an init
> > > > > method, that
> > > > > > > should be called only once. I am using..:
> > > > > > >
> > > > > > > <f:metadata>
> > > > > > >     <f:viewAction action="#{calendarController.initPrices}"
/>
> > > > > > > </f:metadata>
> > > > > > >
> > > > > > > <h:head>......
> > > > > > >
> > > > > > > to call the init method, but I have also tried using f:event
> > > > > prerenderView
> > > > > > > and also @PostConstruct but I am not able to make the bean
call
> > the
> > > > > init
> > > > > > > method only once...
> > > > > > >
> > > > > > > What am I missing?
> > > > > > >
> > > > > > >
> > > > > > > Regards,
> > > > > > >
> > > > > > > BTJ
> > > > > > > --
> > > > > > >
> > > > > > >
> > > > >
> > >
> > -----------------------------------------------------------------------------------------------
> > > > > > > Bjørn T Johansen
> > > > > > >
> > > > > > > btj@havleik.no <javascript:;>
> > > > > > >
> > > > > > >
> > > > >
> > >
> > -----------------------------------------------------------------------------------------------
> > > > > > > Someone wrote:
> > > > > > > "I understand that if you play a Windows CD backwards you
hear
> > > strange
> > > > > > > Satanic messages"
> > > > > > > To which someone replied:
> > > > > > > "It's even worse than that; play it forwards and it installs
> > > Windows"
> > > > > > >
> > > > > > >
> > > > >
> > >
> > -----------------------------------------------------------------------------------------------
> > > > > > >
> > > > >
> > >
> > >
> >

Mime
View raw message