Olha só…problema acho q não tem não …mas é melhor que você implemente os seus métodos de persistência como synchronized para que não haja conflitos na hora em que vários usuários acessarem o mesmo método. Isso pode comprometer a performance do sistema também. Pense bem se há necessidade dessa forma de implementação.
bem, eu utilizo singleton tb em minhas aplicações WEB, e tento sempre re-utiliza-las para aplicações desktop, ex: toda a minha regra de negócios eu a re-utilizo em ambos os ambientes, teria algum problema, ou algo de deveria observar ?
Você terá problemas a partir do momento em que você distribuir a parte server-side da aplicação entre várias máquinas. Você terá um singleton por JVM.
No mais, trate os problemas de concorrência, conforme os colegas indicaram. Acho que o mais seguro é inicializar seu singleton num bloco static.
Singleton não é recomendado em ambiente Java EE, pois os application servers possuem vários [google]classloaders[/google]. E cada classloader terá sua instância de singleton, que deixa de ser única.
Se você realmente precisar de um Singleton coloque uma instância em escopo de application.
Uma alternativa bem nojenta, é criar um ServletContextListener para interceptar a inicialização do Servlet. Lá, jogue uma instância do seu singleton no ServletContext.