My understanding is that the JBoss HASingleton MBeans do in fact behave as real singletons (just one instance per JVM) when you run them on a single node of a cluster. At least they are working well in that capacity for me. I fortunately do not have the problem of the original poster in that my singleton MBeans are only being registered on the master node, which is what I want. Unfortunately I cannot access these singleton MBeans from any other node, and hence my application can't cluster yet. I am trying to use the RMIAdaptor/InvokerAdaptorService, after fruitless attempts with other approaches, but still having no joy.
If you are considering going with a singleton in your design/architecture, and you want to cluster it, then I would strongly urge you to avoid it if at all possible. I have had no end of frustration with this. I had no choice but to use this approach since I was committed to it by the architect of my project and hence developed a large body of code which depends on it. What little documentation there is on this topic is confusing and incomplete (something I can say about most if not all JBoss documentation from my experiences with it over the last 8 months). If you don't have a support contract then you will have a hard time getting anyone to give you any helpful information on this topic on this forum, as it seems that there are few if any other developers who have tried this with any success. Perhaps you really do get what you pay for, if you're lucky -- but then again I'm not sure that this would be any easier with WebLogic or WebSphere.