use of CGLib-based proxies by setting proxyTargetClass=true on @EnableAsync and/or @EnableCaching

Posted 穆雄雄

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了use of CGLib-based proxies by setting proxyTargetClass=true on @EnableAsync and/or @EnableCaching相关的知识,希望对你有一定的参考价值。

大家好,我是雄雄。


今天在做异步的时候,报了个错,错误信息如下:

Error starting ApplicationContext. To display the conditions report re-run your application with ‘debug’ enabled.
2022-08-25 17:58:30.784 [main] ERROR o.s.b.diagnostics.LoggingFailureAnalysisReporter:40 -


APPLICATION FAILED TO START


Description:

The bean ‘subscribeHandler’ could not be injected because it is a JDK dynamic proxy

The bean is of type ‘com.sun.proxy.$Proxy195’ and implements:
me.chanjar.weixin.mp.api.WxMpMessageHandler
org.springframework.aop.SpringProxy
org.springframework.aop.framework.Advised
org.springframework.core.DecoratingProxy

Expected a bean of type ‘org.jeecg.modules.wechat.handler.SubscribeHandler’ which implements:

Action:

Consider injecting the bean as one of its interfaces or forcing the use of CGLib-based proxies by setting proxyTargetClass=true on @EnableAsync and/or @EnableCaching.

2022-08-25 17:58:31.721 [Thread-7] WARN com.alibaba.nacos.common.http.HttpClientBeanHolder:108 - [HttpClientBeanHolder] Start destroying common HttpClient

解决方法

启动器不能只写个@EnableAsync就完事儿了。
还需要在后面加上:(proxyTargetClass = true)
完成写法应该是这样的:

@EnableAsync(proxyTargetClass = true)

以上是关于use of CGLib-based proxies by setting proxyTargetClass=true on @EnableAsync and/or @EnableCaching的主要内容,如果未能解决你的问题,请参考以下文章

SpringAOPBean named * is expected to be of type * but was actually of type ‘com.sun.proxy.$Proxy7‘(代

role of proxy server

[ES6] Use ES6 Proxies

Proxy does not work using sudo in Debian

Spring 动态代理 之 but was actually of type 'com.sun.proxy.$Proxy14 Exception

Nginx 减轻缓存失效对上游服务压力 proxy_cahce_lock和proxy_cache_use_stale