Comments (9)
In my opinion, this code is just to avoid duplicate proxies. @wangliang181230 , @slievrly , @xingfudeshi , please help to answer this question.
You already answered the question.
这么看来,我们应该缓存bean,而不是beanname,否则多例情况下将不会进行代理
In this case, we should cache the bean instead of the bean name. Otherwise, if there are multiple instances, no proxy will be created.
from incubator-seata.
In my opinion, this code is just to avoid duplicate proxies. @wangliang181230 , @slievrly , @xingfudeshi , please help to answer this question.
from incubator-seata.
In my opinion, this code is just to avoid duplicate proxies. @wangliang181230 , @slievrly , @xingfudeshi , please help to answer this question.
You already answered the question.
from incubator-seata.
from incubator-seata.
from incubator-seata.
你们所说重复代理,指的是什么情况下会发生重复代理?
from incubator-seata.
In my opinion, this code is just to avoid duplicate proxies. @wangliang181230 , @slievrly , @xingfudeshi , please help to answer this question.
You already answered the question.
这么看来,我们应该缓存bean,而不是beanname,否则多例情况下将不会进行代理 In this case, we should cache the bean instead of the bean name. Otherwise, if there are multiple instances, no proxy will be created.
如果直接缓存bean,那是否失去了多例bean的意义,所以,我只是想知道,这个proxyed_set 你们在设计时,是考虑到了重复代理的情况,我想知道,在哪种场景下会出现重复代理?
from incubator-seata.
In my opinion, this code is just to avoid duplicate proxies. @wangliang181230 , @slievrly , @xingfudeshi , please help to answer this question.
You already answered the question.
这么看来,我们应该缓存bean,而不是beanname,否则多例情况下将不会进行代理 In this case, we should cache the bean instead of the bean name. Otherwise, if there are multiple instances, no proxy will be created.
如果直接缓存bean,那是否失去了多例bean的意义,所以,我只是想知道,这个proxyed_set 你们在设计时,是考虑到了重复代理的情况,我想知道,在哪种场景下会出现重复代理?
我说的缓存bean是将bean缓存起来,只是用来比较bean是否已经被seata所代理过,不过我目前感觉这种方式也不好,针对多例bean反而可能会出现oom,因为被seata一直引用着。大家可以在这讨论出一个合适的方案来解决这个问题。
What I meant by caching beans is to cache the beans and use them only to check whether they have been proxied by Seata. However, I currently feel that this approach may not be ideal, as it could potentially lead to out-of-memory errors for prototype beans, which are constantly referenced by Seata. Let's discuss and come up with a suitable solution to address this issue.
from incubator-seata.
In my opinion, this code is just to avoid duplicate proxies. @wangliang181230 , @slievrly , @xingfudeshi , please help to answer this question.
You already answered the question.
这么看来,我们应该缓存bean,而不是beanname,否则多例情况下将不会进行代理 In this case, we should cache the bean instead of the bean name. Otherwise, if there are multiple instances, no proxy will be created.
如果直接缓存bean,那是否失去了多例bean的意义,所以,我只是想知道,这个proxyed_set 你们在设计时,是考虑到了重复代理的情况,我想知道,在哪种场景下会出现重复代理?
我说的缓存bean是将bean缓存起来,只是用来比较bean是否已经被seata所代理过,不过我目前感觉这种方式也不好,针对多例bean反而可能会出现oom,因为被seata一直引用着。大家可以在这讨论出一个合适的方案来解决这个问题。 What I meant by caching beans is to cache the beans and use them only to check whether they have been proxied by Seata. However, I currently feel that this approach may not be ideal, as it could potentially lead to out-of-memory errors for prototype beans, which are constantly referenced by Seata. Let's discuss and come up with a suitable solution to address this issue.
所以我还是需要了解到这个proxyed_set到底是为了避免那种场景下的重复代理,因为在spring中默认是单例模式,warpIfNecessary()只会走一次,生成的代理对象会放在单例池中,后续也不会出现重复代理的情况
from incubator-seata.
Related Issues (20)
- TCC mode two stage cannot be executed
- Source code depends on the git environment
- The module dependent on 'compatible' has not been correctly referenced.
- 源码少文件 HOT 1
- The distribute lock table is not config, please create the target table and config it HOT 6
- OceanBase数据库的mysql模式下创建的表,多主键,seata回滚失败,seata不支持多主键的表回滚吗? HOT 3
- 使用 2.0.0 版本并且使用root用户操作会无法启动的问题。 HOT 1
- v2.0.0版本,使用redis作为store时,无法连接redis HOT 1
- Why use @Async in ClusterWatcherManager
- k8s部署seata HOT 9
- 请问 2.1.0 什么时候发啊 等的花都要谢了 端午节前还有希望么 HOT 2
- seata 2.x是否支持数据库密码加密功能? HOT 2
- OceanBase数据库mysql模式,无法回滚
- 对于Oracle数据库中含有Timestamp字段的数据表无法进行二段校验 HOT 3
- druid连接池配置参数放开test-on-borrow HOT 2
- 0101 can not connect to 10.233.65.126:8091 cause:can not register RM,err:can not connect to services-server. HOT 2
- saga exception: java.lang.NullPointerException: Cannot invoke "io.seata.saga.engine.StateMachineEngine.forward(String, java.util.Map)" HOT 1
- mybatis调用Oracle存储过程开启事务报错 HOT 3
- 同一个服务中 两个被@TwoPhaseBusinessAction修饰的方法,方法A调用方法B,方法B对应的commitMethod,rollbackMethod未生效 HOT 1
- 手动回滚之后还会去触发commitTransaction方法? HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from incubator-seata.