Whenever you have a method like this:

  | @Out(scope=ScopeType.EVENT) @Factory Boolean getSomeFlag () {
  |   return this.someMethod() != null;
  | }
  | 

which is useful for being able to generate a value for a particular scope
without having to manage a variable inside your bean.

If inside the someMethod() there is alot of processing, you probably only want 
that being called once per request, thus the EVENT scope.

In this scenario this snippit of code from the BijectionInterceptor is 
processed:


  |    public Object bijectTargetComponent(InvocationContext invocation) throws 
Exception
  |    {
  |       if (component.needsInjection()) //only needed to hush the log message
  |       {
  |          if ( log.isTraceEnabled() )
  |          {
  |             log.trace("injecting dependencies of: " + component.getName());
  |          }
  |          component.inject(invocation.getTarget()/*, true*/);
  |       }
  |       
  |       Object result = invocation.proceed();
  |       
  |       if (component.needsOutjection()) //only needed to hush the log message
  |       {
  |          if ( log.isTraceEnabled() )
  |          {
  |             log.trace("outjecting dependencies of: " + component.getName());
  |          }
  |          component.outject(invocation.getTarget());
  |       }
  |       
  |       return result;
  |    }
  | 

Note that the result for this particular interceptor is already know and stored 
in the result Object. However since Seam also realizes that outjection is 
necesary it calls the component.outject(invocation.getTarget()) method whic 
results in that same method getting called again.

Would there be anyway for seam to pass down the result value with the name of 
the outjection to the component.outject() method that way as it loops through 
the different members to cause outjecting it can take advantage of the fact 
that it has already called the targeted factory?

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

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3971431
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to