0
我試圖在建議readObject()連接點的after建議下面的示例代碼中執行readObject()之後獲取讀取字符串的值。在執行切入點的建議後訪問類成員
public class Eg {
private ObjectOutputStream output;
private ObjectInputStream input;
Public String request="";
public Eg(File source){
output; // output stream to client
input= new ObjectInputStream(file);
}
public void method() {
try{
while(true) {
request =(String) input.readObject();
//do something with request
}//while
}
catch (IOException ex)
{
ex.printStackTrace();
}
}
}
和我的方面:
public aspect ReadStringGetter {
public pointcut readOperation() :
execution(* java.io.ObjectInputStream.readObject());
after() : readOperation() {
Eg eg = (Eg) thisJoinPoint.getThis();
System.out.println(eg.request);
}
}
公共方面ReadStringGetter { 公共切入點readOperation() :執行(* java.io .ObjectInputStream.readObject()); ():readOperation() { 例如=(例如)thisJoinPoint.getThis(); \t System.out.println(eg.request); \t \t } } – user2447576