ApplicationContext ctx = new AnnotationConfigApplicationContext(Config.class);
AsyncBean session = ctx.getBean(AsyncBean.class);
Caused by: java.lang.ClassCastException: $Proxy14 cannot be cast to AsyncBean
无法弄清楚如何将@Async与@EnableAsync一起使用...。它似乎会产生代理,而我无法处理单例。
另一个例子:
@Bean
public Bean bean(){
Bean bean=new Bean();
bean.registerHandler(asyncBean());
}
@Bean
public AsyncBean asyncBean(){
return new AsyncBean();
}
这也会引发相同的类强制转换异常。
java.lang.ClassCastException:$ Proxy14无法转换为AsyncBean
最佳答案
Spring要求AsyncBean是接口而不是类。通常,代理类必须是接口。