A Singleton EJB is a session bean component that is instantiated once per application.
In other words, all requests to the singleton will be routed to the single instance of the Singleton bean instance.
( I know taht a Stateless session bean is not applicable here , as the container might maintain a pool of these stateless bean instances)
But Can you please tell me how this is different from a normal Stateful Session Bean ??
That is up to how concurrency management is defined. If you are using container managed concurrency the container may lock on read or write access (or both). Its a general rule in EJBs (OK, one of mine ) that if you are thinking of using something that attempts to control threading behaviour such as the synchronized keyword you are probably doing somethign wrong.