- 
        1. Re: JBossCache 2.1.0 - AOP frameworkjulien1 Jul 6, 2007 7:47 AM (in response to manik)You want also to be sure that JBoss AOP offers a public API that will not change over time. 
- 
        2. Re: JBossCache 2.1.0 - AOP frameworkadrian.brock Jul 6, 2007 8:45 AM (in response to manik)Of course you should use JBoss AOP. I can think of a number of reaons, 
 but probably the most compelling for you (and me but more importantly users :-) are:
 1) If you have problems it is relatively trivial to get a fix/resolution in a "one stop shop"
 at jboss.org
 2) A user doesn't need to understand two sets of configuration to configure JBoss Cache
 with other JBoss AOP usage in the same application (e.g. JBoss AS)
 3) It's possible to use JBoss AOP without any "weaving" (either compile time
 or load time) with the JBoss AOP proxy
 e.g. the JCA prototype does exactly what you are doing (implement a project
 using AOP for the design) but adds the AOP "on the fly" without any special help
 from the classloading.
 4) JBoss AOP works. Its unlikely that your own handwritten framework
 has had the same amount of exposure to testing. It almost certainly contains more
 bugs. :-)
 5) Aspects written for other projects are usuable in your project (and vice versa)
 6) There are some interesting features in the JBoss AOP/MC integration
 that are not available anywhere else. One trivial example is the
 "bind my object into JMX".@JMX public class CacheImpl {}
 Whether it actually does bind it into JMX is dependent not upon you
 writing code to do this, but adding the aspect to the aop config to say
 what the annotation @JMX means.
 No such aspect means there is no binding, and you can choose
 what the implementation of the aspect is according the environment.
 But there are other more interesting examples, such as proper
 dependency management of aspects applied to a bean, e.g.@Tx(TxAttribute.REQUIRED) public class MyClass {}
 But @Tx introduces the transaction demaraction aspect
 which has a dependency on the transaction manager@Aspect public class TransactionDemarcation { @Inject public void setTransactionManager(TransactionManager tm) {} public Object invoke(Invocation) throws Throwable {} }
 Only with JBoss AOP/MC does this transient dependency get recognised
 and properly resolved, i.e. MyClass won't be installed until
 TransactionDemarcation is installed which in turn requires the TransactionManager
 installed.
- 
        3. Re: JBossCache 2.1.0 - AOP frameworkbill.burke Jul 6, 2007 10:28 AM (in response to manik)downsides to JBoss AOP: 
 * sometimes difficult to diagnose problems as not much work has been put into the pointcut interpreter.
 * Runtime is 1M JBoss AOP + Javassist.
- 
        4. Re: JBossCache 2.1.0 - AOP frameworkmanik Jul 18, 2007 5:36 AM (in response to manik)After Kabir's AOP/MC integration presentation yesterday I'm somewhat more convinced of this approach, but a few things still do concern me: 
 1) JAR dependency explosion
 2) Memory/performance footprint
 How do other projects deal with the above? Do they just "live with it"? Can 1) be mitigated based on a limited use case such as mine?
 Regarding 2), how does this compare with competing frameworks?
- 
        5. Re: JBossCache 2.1.0 - AOP frameworkkabirkhan Jul 18, 2007 8:15 AM (in response to manik)Don't you need the AOP jars for POJO Cache anyway? Or are you doing separate downloads for POJO and Plain Cache? 
 4) Allow for end users to add their own aspects (*)
 (*) This may not be a good thing.
 I have some vague ideas for a "locked" configuration of aspects for particular joinpoints
- 
        6. Re: JBossCache 2.1.0 - AOP frameworkmanik Jul 18, 2007 8:32 AM (in response to manik)Separate binary distros. 
 
     
     
    