What I'd like to do in AS7.1 is to implement HA singletons as @Clustered @Singleton EJBs.
HASingleton lifecycle hooks would leverage @PostConstruct @PreDestroy methods. The AS will handle the remaining instrumentation.
Note that this is contrary to the spec:
EJB 3.1 FR 4.8 Singleton Bean
A Singleton session bean is a session bean component that is instantiated once per application. In cases
where the container is distributed over many virtual machines, each application will have one bean
instance of the Singleton for each JVM.
And throw away that note.