IoC e Singletons

Bom dia pessoal,

estou estudando um pouco sobre o Spring e IoC. E percebi que em diversos artigos recomenda-se evitar ao maximo o uso de Singletons.

Pq o uso de singletons é evitado pelo Spring?

Valeu
Marcos

Olá

Veja: Singletons não escalam bem porque são dificeis de controlar quando se põe a aplicação em cluster

[]s
Luca

Luca, me explica uma coisa baseado nessa sua informação. Suponhamos que eu tenha um cluster com 3 maquinas contendo o tomcat e uma para banco de dados, sendo que o cluster é só na parte do tomcat. Então os pool de conexões que por sua vez são singletons devem fica na maquina do banco ?

Pelo que entendí, deve-se evitar o uso de Singleton neste caso.

Olá

Sim e Não. Não é que você não deva usar singletons. O que se costuma dizer que singletons são dificeis de escalar. No seu caso por exemplo você vai ter que bolar uma solução para evitar problemas. Se sua solução usar o pattern singleton acho que vai precisar de um monte de gambiarras para se garantir como singleton e atender ao cluster. Penso que com JNDI (+ ServletContextListener) talvez seja mais fácil de atingir este objetivo.

Seu problema não é trivial e exige atenção. Você está fazendo um uso avançado do tomcat. Não ponha tudo a perder com soluções simplistas.

[]s
Luca