wood burning stoves 2.0*
The moose likes OO, Patterns, UML and Refactoring and the fly likes Spring and Singleton patteren Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Murach's Java Servlets and JSP this week in the Servlets forum!
JavaRanch » Java Forums » Engineering » OO, Patterns, UML and Refactoring
Bookmark "Spring and Singleton patteren" Watch "Spring and Singleton patteren" New topic
Author

Spring and Singleton patteren

Kousik Majumder
Ranch Hand

Joined: Sep 30, 2007
Posts: 229
Hi All,

I have a question regarding Singleton pattern in my mind.
It is generally told not to use Singleton pattern in distributed architecture. Because it may be one per JVM, one per classloader etc. So the singleton nature is destroyed.

But a popular framework like Spring is using Singleton as its default scope. So how is it managing the Singleton nature of a class around the application in a distributed environment?
Can somebody explain me?


Thanks in Advance,
Kousik
Hauke Ingmar Schmidt
Rancher

Joined: Nov 18, 2008
Posts: 433
    
    2
Singleton as a concept is not a problem. It is just a "one object of this class" idiom. That happens quite often... in fact so often that it is the standard scope for Spring.

What is bad is implementing it at language level (e.g. a constant holding an instance) because then you loose testibility, possibility to inject, it is hard to refactor and so on. All what is bad about the Singleton.

This is not true when managed by Spring. If you need another instance you just create it. Singleton in Spring does not enforce only one object of a class. It just means that the instance created is shared (and not like with the prototype scope every caller gets a new object).

When done at the language level this means you need to e.g. create a new constant, rewrite access, change dependent objects, think about thread safety...

So having "just one object of a class" is not a problem. Enforcing it on low-level is.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Spring and Singleton patteren
 
Similar Threads
Singleton Design Pattern and Singleton Spring Bean
Spring - Multiple IoC Containers with Singleton Bean in a JVM
Spring Singleton Bean Instantiation Mode
Singalton in distributed env
singleton class