我创建了一个使用LoadTimeWeaving的框架。在某些情况下,我的框架正在尝试编织的类已经被加载。因此,这些类不会被aspectj的LoadTimeWeaving处理。
我最初的想法是尝试卸载/重新加载类,以便AspectJ可以在它的LoadTimeWeaving阶段重新加载它们。但根据我的发现,这是不可能的。
@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
处理该对象问候