栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在非单一bean上投放的Spring代理上修复BeanNotOfRequiredTypeException?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在非单一bean上投放的Spring代理上修复BeanNotOfRequiredTypeException?

再花几个小时尝试调试后,我在StackOverflow上发布后立即找到了答案。

我从问题中遗漏的一个关键点是InnerThread具有事务处理方法(对不起,认为这是不相关的)。这是OuterThread和InnerThread之间的重要区别。

从Spring文档中:

注意

多个部分在运行时折叠到一个统一的自动代理创建器中,该创建器将应用任何部分(通常来自不同XML Bean定义文件)指定的最强的代理设置。这也适用于和元素。

需要明确的是:在或元素上 使用’proxy-target-class =“ true”’
会强制对所有三个元素使用CGLIB代理。

将以上内容添加到我的配置(基于persistance-
context.xml,您可以在上面看到加载的)行似乎可以解决此问题。但是,我认为这可能是一种快速解决方案,而不是真正的解决方案。

我认为我在这里还有一些更深层次的问题,第一个是我发现Spring与删除的内容一样令人困惑。其次,我可能应该使用Spring的TaskExecutor来启动我的线程。第三,我的线程应实现Runnable而不是扩展Thread(请参见下面的SO问题)。

也可以看看

  • 使用ServiceLocatorFactoryBean和@Transactional的BeanNotOfRequiredTypeException (没有什么比在经过数小时的搜索后找到一个表明“此问题已被回答一百万次”的Google线程更好的了)。
  • Spring Docs中的6.6节。


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/430851.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号