![](/img/trans.png)
[英]Difference between javax.inject.Singleton and javax.ejb.Singleton
[英]Should I Use CDI javax.inject.Singleton for the beans that dont need serialization, proxies, or decorations
我了解ApplicationScoped
和CDI javax.inject.Singleton
工作方式,并且了解这两个范围之间的区别 。 我的应用程序有很多不需要序列化,代理或修饰的bean,因此我正在考虑将其从ApplicationScoped
(有效)切换到javax.inject.Singleton
以通过避免代理来提高性能。
我的问题是 :实际上我是否应该进行此类更改?
当然,您可以在范围注释上进行重构,但是您将需要在调用那些单例托管bean的bean上进行序列化。 参见http://docs.jboss.org/weld/reference/latest-2.2/en-US/html_single/#_the_singleton_pseudo_scope
我将首先研究此举将带来多少性能提升,以及是否真的值得我花时间去投资。 通常,性能瓶颈来自于Java查询开销之前的数据库查询/索引性能,I / O,网络,线程锁,低效算法(以及更多),因此我会坚持使用标准@ApplicationScoped。
参见: http : //ordinaryjava.blogspot.com/2008/08/benchmarking-cost-of-dynamic-proxies.html https://spring.io/blog/2007/07/19/debunking-myths-proxies-impact -性能/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.