spring请求作用域替换失败

fbcarpbf  于 2021-07-23  发布在  Java
关注(0)|答案(0)|浏览(132)

我对spring请求范围有问题。它在我99.9%的通话中运行良好,因为几乎总是有一个web请求可用。不幸的是,有些事情是通过 @Async 在这里事情变得棘手。
我想要的解决方案是使用 @Scope(value = "request" proxyMode = ScopedProxyMode.TARGET_CLASS) 使用基本相同的实现,但使用原型范围。我可以让两个bean从同一个父级继承,然后添加不同的作用域。
然而,我不知道如何使这项工作。由于我们有相同的bean,我将得到一个错误,即bean不是唯一的。逻辑是尝试创建主请求范围bean,并在失败时捕获 BeanCreationException 并将其替换为原型实现。
我找不到解决问题的办法 @Primary 或者在这里命名bean,因为原则上,调用方法的上下文(callstack中的某个更高的位置,即async或not)决定bean是request类型还是prototype类型。
不幸的是,到目前为止我还没有找到任何真正的解决办法。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题