Hello,
  I am currently playing around with JBoss AOP, but I can't seem to  make my 
pointcuts work.

This is the xml file:

  | <aop>
  |     <aspect class="main.Aspect" />
  |     <bind pointcut="execution(void 
$instanceof{java.io.ObjectOutput}->writeObject($instanceof{java.lang.Object}))">
  |             <around aspect="main.Aspect" name="secureWrite" />
  |     </bind>
  |     <bind pointcut="execution($instanceof{java.lang.Object} 
$instanceof{java.io.ObjectInput}->readObject())">
  |             <around aspect="main.Aspect" name="secureRead" />
  |     </bind>
  | </aop>
  | 

My Aspect class is this:

  | package main;
  | 
  | import org.jboss.aop.joinpoint.MethodInvocation;
  | 
  | public class Aspect {
  |     private final SecureCommunication secure;
  | 
  |     public Aspect() {
  |             secure = new SecureCommunicationRSA();
  |     }
  | 
  |     public Object secureWrite(MethodInvocation invocation) throws Throwable 
{
  |             System.out.println("Writing secure");
  |             Object[] args = invocation.getArguments();
  |             for (int i = 0; i < args.length; i++) {
  |                     args = secure.encrypt(args);
  |             }
  |             return invocation.invokeNext();
  |     }
  | 
  |     public Object secureRead(MethodInvocation invocation) throws Throwable {
  |             System.out.println("Reading secure");
  |             return secure.decrypt(invocation.invokeNext());
  |     }
  | }
  | 

And the class I want to instrument is this:
package main;
  | 
  | import java.io.File;
  | import java.io.FileInputStream;
  | import java.io.FileOutputStream;
  | import java.io.IOException;
  | import java.io.ObjectInput;
  | import java.io.ObjectInputStream;
  | import java.io.ObjectOutput;
  | import java.io.ObjectOutputStream;
  | 
  | public class Main {
  | 
  |     /**
  |      * @param args
  |      */
  |     public static void main(String[] args) throws IOException,
  |                     ClassNotFoundException {
  |             ObjectOutput out = new ObjectOutputStream(new FileOutputStream(
  |                             new File("test")));
  |             out.writeObject("this");
  |             out.writeObject("is");
  |             out.writeObject("a test");
  |             out.close();
  | 
  |             ObjectInput in = new ObjectInputStream(new FileInputStream(new 
File(
  |                             "test")));
  |             System.out.println(in.readObject());
  |             System.out.println(in.readObject());
  |             System.out.println(in.readObject());
  | 
  |     }
  | 
  | }
  | 

When I try to apply the aspects, I get the following message
anonymous wrote : 
  | [aop-debug] org.jboss.aop.instrument.Instrumentor trying to transform 
main.Main
  | [aop-debug] org.jboss.aop.instrument.CallerTransformer There are no caller 
pointcuts!
  | [aop-debug] org.jboss.aop.instrument.JoinpointSimpleClassifier 
javassist.ctmet...@44a4fe33[public static main ([Ljava/lang/String;)V] matches 
no pointcuts
  | [aop-debug] org.jboss.aop.instrument.JoinpointSimpleClassifier 
javassist.ctconstruc...@176e552[public Main ()V] matches no pointcuts
  | [aop-debug] org.jboss.aop.instrument.Instrumentor was main.Main converted: 
false
  | [no comp needed] /home/slv/Desktop/EncryptionTest/classes/main/Main.class
  | 

Can you please help me? I tried so many things and I can't make it work.

Thank you, 
  Silviu

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

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

Reply via email to