Singleton session bean has been introduced to address what problems ?? is it only for sharing the data that is common for all the beans ??
How is that problem managed in EJB 3.0 and versions before that ?
If it retains the client specific conversational state , that single instance will be having all the clients'(that are trying to access concurrently) specific data in it?? Will it be secure??
If we can use static final variables and static initializer block or static methods to initialize them (as static variables are also per class data not per instance data) in other session beans, for sharing common data across beans, what is the need of singleton session bean ?
Is it a good design to have business methods in the singleton?? if so, response time for the client requests served by a single instance will be much more than when served by multiple instances.
Moreover, while singleton bean allows concurrent access of a single bean instance by multiple clients, the default lock type (write lock) in the default concurrency type (container managed) will block all the other threads from accessing the bean until that method is over, and and this seems to be a disadvantage right ??
It will be very helpful if someone could give a clear & simple usecase where no other beans fit as exactly as singleton bean does
Thanks in Advance :)