Hi,

I was trying to add an interface introduction to a class during runtime, i.e. 
by dynamic AOP, but so far without success.
I was able to do it by "static" AOP, i.e. adding the respective tags in the xml 
files as described in the reference manual or the tutorial.

The important excerpt from my (static) xml-file:

<introduction class="MainClass">
  |     <mixin>
  |             <interfaces>
  |                     Printable
  |             </interfaces>
  |             <class>Printer</class>
  |             <construction>new Printer(this)</construction>
  |     </mixin>
  | </introduction>

Intending to use dynamic AOP, I tried it with the following:

MainClass myMainClass = new MainClass();
  | String[] interfaces = {"Printable"};
  | // use InterfaceIntroduction-Constructor found in the API for 
jboss-aop_1.5.3.GA    
  | InterfaceIntroduction ii = new 
InterfaceIntroduction("SomeArbitraryName","MainClass", interfaces, "Printer", 
"new Printer(this)");
  | AspectManager.instance().addInterfaceIntroduction(ii);
  | 
  | // use reflection to invoke the method "print" which is implemented by 
Printer.
  | // this worked using "static" AOP. However it throws an exception now. 
Therefore
  | // something must have gone wrong :-(
  | try {
  |     myMainClass.getClass().getMethod("print", null).invoke(myMainClass, 
null);
  | } catch (Exception e) {
  |     e.printStackTrace();
  | }

I don't know whether I have to prepare anything for my issue, but I tried both 
without and with the following: <prepare expr="all(MainClass)"/>

I tried both running in loadtime mode as well as in HotSwap-mode.

Any ideas what I made wrong? Is it possible at all to add an interface 
introduction using Dynamic AOP?

Thanks in advance for your help!
Hannes

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

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4011647
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to