[jboss-user] [JBoss Seam] - Re: Question regarding performance and multiple JavaBean bij

petemuir do-not-reply at jboss.com
Tue Apr 24 19:21:30 EDT 2007


"pnorman4" wrote : The result is that facesContext is injected 4 times - twice for each #{testBean.testValue}. Adding another #{testBean.testValue} will force two more injections! 
  | 
  | The #{testValue} on the other hand does not enforce any injections.

Each time that you call a method on your Seam component, Seam will biject as required.  When the method is complete Seam disinjects the any injections.  So, each time you call #{testBean.testValue}, you get an injection.  As for why each #{testBean.testValue} causes two injections, that's probably down to JSF/Facelets evaluating the binding twice.

By the time you access #{testValue} on your page it has been outjected by testBean and so exists as a contextual variable and hence doesn't access the bean at all.

anonymous wrote : 
  | Now I wonder: 
  | * Is this behavior a bug? 

Why do you wonder that?

anonymous wrote : * Do I get this behaviour because I'm using JavaBeans instead of EJB3 SessionBeans?

No.

anonymous wrote : Also:
  | * To get the @Out outjection to work, I must first access the bean (with #{testBean.testValue} for instance). Is there another way to "wake up" the bean so that @Out works?

Look at using @Factory or @Create (there are examples of both in examples directory.

In general we (Gavin) have done a very good job of making Seam fast - there are discussions about this on the forum, take a look through.  The normal candidate for slowness is in your use of the ORM.

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

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



More information about the jboss-user mailing list