将类/对象传递给aspectj

时间:2017-01-14 00:20:08

标签: java aspectj load-time-weaving

我创建了一个使用LoadTimeWeaving的框架。在某些情况下,我的框架正在尝试编织的类已经被加载。因此,这些类不会被aspectj的LoadTimeWeaving处理。

我最初的想法是尝试卸载/重新加载类,以便AspectJ可以在它的LoadTimeWeaving阶段重新加载它们。但根据我的发现,这是不可能的。

一些示例代码 https://github.com/abrovinc/methodmock/blob/preloaded-class-test/example-projects/java-versions/java-1.6/src/test/java/com/example/ExampleTest.java

@Test
public void testExample() throws Exception {

    new Example();

    new LoadJavaAgent();

    mockMethod("methodToBeMocked").returns("Mock works");
    assertEquals("Mock works",Example.methodToBeMocked());
}

如果在加载LoadJavaAgent之前加载了Example,则在调用LoadJavaAgent时发生的加载时间编织将不会影响Example类。

我想要一个选项来启动一个新对象,并让LoadTimeWeaving

处理该对象

问候

0 个答案:

没有答案