[英]Do I need to worry about concurrency with tomcat spring beans?
关于java不够了解,在列出单个服务器tomcat应用程序时,我需要担心在我的spring java bean中更改DTO对象吗?
简而言之,是的。 Spring Bean通常可以由多个线程共享。 特别注意Spring Bean中的成员变量。 如果它们是可变的,要么使它们不可变,要么用锁(例如同步),ThreadLocal等协调访问。
这是你需要问自己的问题。 有两种线程可以访问同一个 DTO吗? 我想任何理智的建筑都没有。
Spring bean本身通常是单例(当没有配置时),并且应该是线程安全的。
如果所有bean都接收DTO作为参数,则返回新创建的DTO,并且这些bean的所有客户端都不会保留引用,DTO不应该是一个问题。 至少从高层面来看。
但是,您应该阅读有关java并发的内容。 如果你有机会我会推荐Goetz的书 。
最后,在那一天,我记得Rod Johnson(THE springsource mastermind)说DTO是EVIL。 请花点时间谷歌“DTO邪恶”并让你的想法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.