Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-dev] Re: Load-Time Weaving configuration

Hi Matthew,

To ensure bytecode is loaded for classes defined by the weaving class
loader (to avoid recursion in the weaver?) using class name seems a little
fragile. Why not use "Class.forName(className,false,loader.getParent())"
where loader is the weaving class loader? This ensures we use a
ConcreteName for all classes defined by parent loaders not just a subset of
bootstrap classes?

Agree.

So what does your extension interface look like? Does it take the form of a
query e.g "getAspectNames()" which the extension point calls for each
implementation?

Plugins can promote aspects to the system with an extension that looks like this:

   <extension
         point="org.aspectj.weavingruntime.aspects">
      <aspect
            class="com.ibm.eclipse.monitor.aspect.MonitorAspect">
      </aspect>
   </extension>

The weaving plugin loads the code for each of those promoted plugins via the bundle mechanism and adds it to the weaver of each plugin. Looks pretty simple, doesn't it? :-)

-Martin

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature


Back to the top