问题描述
我对 spring 请求范围有问题。它在我 99.9% 的通话中都能正常工作,因为几乎总是有可用的网络请求。不幸的是,有一些事情是通过 @Async
完成的,这里事情变得棘手。
我想要的解决方案是使用 @Scope(value = "request" proxyMode = ScopedProxyMode.TARGET_CLASS)
替换 bean,其实现基本相同,但使用原型范围。
我可以让两个 bean 从同一个父级继承,然后添加不同的作用域。
但是我不知道如何进行这项工作。由于我们有相同的 Bean,我会收到一个错误,指出该 Bean 不是唯一的。
逻辑是尝试创建主请求范围 bean,并在失败时捕获 BeanCreationException
并将其替换为原型实现。
我在这里找不到带有 @Primary
或命名 bean 的解决方案,因为原则上,调用方法的上下文(调用堆栈中较高的某个位置,即异步与否)决定了 bean 是否属于类型请求或原型。
不幸的是,到目前为止我还没有找到任何真正的解决方案。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)