Duda sobre modelo estático

"voqpasa2001" <[email protected]>
Newsgroups gmane.comp.java.javaspain
Message-ID <[email protected]>
Buenos días a todos, quería haceros una pregunta sobre clases
estáticas a ver si alguien me lo puede aclarar, a ver si me explico
correctamente:

Estoy utilizando DAO´s, de tal manera que mi esquema de clases es el
siguiente:

Tengo una interfaz (la interfaz DAO)
Una implementación de esa interfaz.

Y ahora tengo una clase que administra esa interfaz y sirve de punto
de entrada para la capa de negocio.
Aquí es donde empiezan mis dudas, esta clase Admin, es estática.
Tiene una variable estática que es precísamente la interfaz DAO.
Todos sus métodos son estáticos, además el método que crea la primera
vez la interfaz es síncrono.


El funcionamiento es el siguiente:

Cuando se llama a un método estático de Admin, primero compruebo si la
interfaz DAO es nula, si lo es (lo será la primera vez solo), llamo al
método síncrono, que lo que hace es utilizar una factoría que me crea
un nuevo objeto que implementa esta interfaz y se lo asigna a mi
interfaz. (variable (estática) de clase de la clase Admin).
Posteriormente, lo que se hace es invocar al método en cuestión de la
interfaz con sus parámetros correspondientes.

Mi duda es la siguiente, es posible que tenga problemas de
sincronización y que un hilo se "mezcle" con otro a la hora de
solicitar la interfaz?. Es decir, imaginaos que hago un create, que lo
que hace es insertar determinada información de un bean en la BD, si
dos hilos a la vez llaman al create (situación mas que posible),
habría alguna posibilidad que se "mezclara" la información de esos
bean?, vamos que el bean de un create, pasase a ser el bean del otro
create.
Se que siempre y cuando se utilice simplemente el método estático y no
ninguna variable estática, no tiene pq haber problemas, pero es que
precísamente una de las variables de clase de mi clase Admin, es
precísamente la interfaz (solo existirá una).

Veríais mejor que cada vez que se llame a un create desde Admin, que
haga un new de la implementación de la interfaz??

Disculpar el rollo, pero quería intentar explicarme de lo mejor
posible, no se si habrá sido peor.

Un saludo
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.