繁体   English   中英

我是否需要担心tomcat spring beans的并发性?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM