[jboss-dev-forums] [Design of AOP on JBoss (Aspects/JBoss)] - Re: Dynamic AOP API

flavia.rainone@jboss.com do-not-reply at jboss.com
Thu Jul 24 15:42:00 EDT 2008


Yes, the DBO is a nice idea. The handle is not only needed for removal, but also for binding updates.

I think we should also provide some sort of dynamic AOP transaction, useful for two reasons:
performance: it is faster to perform a single dynamic AOP operation than two or three (think about caller pointcuts, and about hot swap)
  | consistency: if two aspects work only together, the user won't want to risk having one of them enabled for a few ms without the other one. Other scenario that would need this is when a set of aspects is to be removed, so they can be replaced by a second set of aspects. The user won't want to risk running the joinpoints without aspects, nor with the two sets of aspects at the same time.
  | 
  | 
  | This way, the user has an option of opening a transaction, indicating that all operations inside it will be performed in an atomic way, assuring consistency:
  | DynamicAOP.start();
  |   | DynamicAOP.add(dbo1, dbo2, dbo3);
  |   | DynamicAOP.remove(oldDbo1.getHandle(), oldDbo2.getHandle(), oldDbo3.getHandle());
  |   | DynamicAOP.commit();
  | 
  | If, on the other hand, the user does not start a transaction, each operation will be an atomic unit:
  | DynamicAOP.add(dbo1, dbo2, dbo3);
  |   | DynamicAOP.remove(oldDbo1.getHandle(), oldDbo2.getHandle(), oldDbo3.getHandle());
  | 
  | Naturally, the start and commit methods could have better names, I just haven't come up with a nice idea for them.

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

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



More information about the jboss-dev-forums mailing list