Me too. I see no reason in using AspectJ. Just use interfaces (which is nearly always good design) and everything works fine. And in face of DAOs the performance problem of the reflective method call is not realy there.

Christian

On Wed, 14 Dec 2005 08:00:37 -0800, Igor Vaynberg <[EMAIL PROTECTED]> wrote:

aspectj sounds pretty sweet. i guess it would work in majority of cases. the reason i would still prefer proxies is because I like constructs like this:

MyDataProvider implements IDataProvider {
  private MyService svc;

  MyDataProvider(MyService svc) {
    this.svc=svc;
  }
...
}

this allows me to use the same dataprovider on a subset of services that all extend the same subinterface. and i think in general its more clear when you
write code like
MyDataProvider provider=new MyDataProvider(service);

but this is just a personal preference.

-Igor



On 12/14/05, Christian Essl <[EMAIL PROTECTED]> wrote:

Right. Thanks for the advice :)

BTW If you do not use interfaces, you can also not advice final methods or
methods on a final class.

The concern here is that when you do not use an interface proxy this also
applies to the proxies which we use in spring-integration. This is a
limitation of cglib, which is used by both Spring-AOP and
Spring-integration proxies, when the proxy-type needed is not (an)
interface(s).

Christian

On Wed, 14 Dec 2005 14:01:35 +0100, Laurent PETIT
<[EMAIL PROTECTED]> wrote:

> On 12/14/05, Christian Essl <[EMAIL PROTECTED]> wrote:
>> AspectJ modfies the byte-code of your class while Spring-AOP either
>> creates a proxy or a subclass. This means that ie in Spring-AOP you can
>> not advice field acess or statements within a method. Basicly with
>> spring
>> AOP you can only adivce calls to a certain method.
>
> Hello, it's not totally right to say "spring AOP you can only adivce
> calls to a certain method". Reality is a bit worse:
>
> With spring AOP, you can only advice method calls when the calls
> originate from an instance that is not the instance that holds the
> method.
> So : if the method AClass.method1 is adviced with springAOP, and if in
> a method AClass.method2 you do something like this.method1() then you
> don't use the proxied instance and springAOP will not work.
>
> So with spring AOP, you can't advice private methods, and you can
> advice (default), protected and public methods as long as you do not
> call them directly from other methods of the same instance.
>
>
> My 0.02 EUR,
>
> --
> Laurent
>
>
> -------------------------------------------------------
> This SF.net email is sponsored by: Splunk Inc. Do you grep through log
> files
> for problems?  Stop!  Download the new AJAX search engine that makes
> searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
> http://ads.osdn.com/?ad_idv37&alloc_id865&op=click
> _______________________________________________
> Wicket-user mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/wicket-user



--
Christian Essl





___________________________________________________________
Telefonate ohne weitere Kosten vom PC zum PC: http://messenger.yahoo.de



-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log
files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
Wicket-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wicket-user




--
Christian Essl
        

        
                
___________________________________________________________ Telefonate ohne weitere Kosten vom PC zum PC: http://messenger.yahoo.de



-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
Wicket-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wicket-user

Reply via email to