Yes, thanks Joe. For @Dependent it seems that it's pretty much clear. The 
question is if we should use the same mechanism for @NormalScoped beans also.

But Gurkans argument with the EJB Interceptor spec is a strong indicator that 
it is not mandatory.

LieGrue,
strub

--- Joseph Bergmark <bergm...@gmail.com> schrieb am Di, 11.5.2010:

> Von: Joseph Bergmark <bergm...@gmail.com>
> Betreff: Re: Need to switch to subclassing?
> An: dev@openwebbeans.apache.org
> Datum: Dienstag, 11. Mai, 2010 15:42 Uhr
> I don't have Gurkan's experience in
> the spec, but this seems to be what
> section 7.2 is all about.  When do you treat a method
> call as a "business
> method invocation", and how does that affect things like
> Decorators and
> Interceptor invocation.
> 
> The only wording that hints this shouldn't work when
> calling another method
> inside the bean is "When the container invokes a method of
> a bean".
> 
> I do think there is a need for a subclassing approach,
> specifically for
> dependent scoped objects that we can not proxy.
> 
> Sincerely,
> 
> Joe
> 
> 
> On Tue, May 11, 2010 at 1:30 AM, Mark Struberg <strub...@yahoo.de>
> wrote:
> 
> > Hi!
> >
> > There is a subtle difference between implementing
> interceptors via proxy or
> > via subclasses.
> >
> > I have the following service which imports data from a
> legacy system into
> > my db. Since commits are very performance intense,
> they should get imported
> > in packages of 100. So I'll get 100 'Employees' from
> my legacy system and
> > then call a @Transactional method to store them in my
> own database.
> >
> > public void ImportService() {
> >  public void importEmployee() {
> >    List<LegacyEmployee> les;
> >    while ((les =
> getNext100EmployeesFromLegacy()) != nul) {
> >      importLegacyEmployees(le);
> >    }
> >  }
> >
> >  @Transactional
> >  protected
> importLegacyEmployees(List<LegacyEmployee> les) {
> >    for (LegacyEmployee le: les) {
> >      employeeService.store(le);
> >    }
> >  }
> > }
> >
> > This would actually _not_ when using proxies for the
> interceptor handling,
> > because calling a method on an own class doesn't
> invoke the proxyhandler.
> >
> > So is this expected to work?
> >
> > Sure, I could easily move the importLegacyEmployees()
> to an own service,
> > but that would infringe classic OOP heavily imo.
> >
> > Gurkan, what does the spec say here, I did find
> nothing. The old spec
> > explicitly mentioned that we need to use subclassing,
> but I cannot find this
> > anymore.
> >
> > LieGrue,
> > strub
> >
> >
> >
> >
> 



Reply via email to