Эмулируйте активность клиента, выкидывая вызов метода для регистрации и имитации использования в Java - PullRequest
4 голосов
/ 23 апреля 2010

Я хочу смоделировать поведение пользователя в Java-приложении и записать вызовы методов и параметры в файл журнала, с которым я буду читать и выполнять те же вызовы.

Я хочу сделать это с помощью отражения(java.lang.reflect.Proxy), чтобы записать файл в журнал, а затем прочитать журнал и сделать вызовы.Есть ли инструмент или способ

1. Запишите в файл журнала вызов метода, подобного этому, например: com.example.Order.doStuff (String a, int b)

2. Записать в файл журнала содержимое возвращаемого типа с полями, если оно существует следующим образом: com.example.ReturnType [private fildname = contents]

3. Прочитать эту информацию и выполнить вышеиспользуя отражение?

Спасибо.

1 Ответ

1 голос
/ 23 апреля 2010

Поиск AOP ( Аспектно-ориентированное программирование ) Это позволит вам объявлять перехватчики вокруг методов, а затем вы можете просто использовать перехватчики для записи в файл журнала.

Ниже приведен пример выполнения кода с помощью отражения.

import java.lang.reflect.Method;

public class RunMthdRef {
  public int add(int a, int b) {
    return a+b;
  }

  public int sub(int a, int b) {
    return a-b;
  }

  public int mul(int a, int b) {
    return a*b;
  }

  public int div(int a, int b) {
    return a/b;
  }

  public static void main(String[] args) {
    try {
      Integer[] input={new Integer(2),new Integer(6)};
      Class cl=Class.forName("RunMthdRef");
      Class[] par=new Class[2];
      par[0]=Integer.TYPE;
      par[1]=Integer.TYPE;
      Method mthd=cl.getMethod("add",par);
      Integer output=(Integer)mthd.invoke(new RunMthdRef(),input);
      System.out.println(output.intValue());
    } catch (Exception e) {
      e.printStackTrace();
    } 
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...