/ / la mejor manera de mantener una conexión viva y disponible en el entorno de Java EE: java-ee, singleton, ejb, design-patterns

La mejor manera de mantener una conexión viva y disponible en el entorno EE de Java - java-ee, singleton, ejb, design-patterns

Tengo un cliente de servicio web que se conecta a un MSServidor de intercambio. El tiempo de conexión inicial es muy largo para este sistema, alrededor de 30 segundos. Así que me gustaría abrir esta conexión inicial tan pronto como inicie mi servidor de aplicaciones y luego permita que los ejbs sin estado usen esta conexión sin tener que volver a conectar con el servidor de MS Exchange. Mi solución a esto sería crear un EJB singleton que se inyecte en los ejb sin estado para que mi conexión esté siempre abierta, sin embargo, no estoy seguro de que esto funcione porque parece que el EJB singleton puede ser recolectado.

Así que mi qustion es esta: ¿Es esta la forma correcta de hacerlo o debería usar¿Un enfoque diferente para este problema del "proveedor de servicios"? Si es correcto, entonces ¿qué pasa con la recolección de basura del singleton, puede evitarse así que no tengo que hacer reconexiones de vez en cuando? ¡Gracias por cualquier comentario y opinión!

Respuestas

0 para la respuesta № 1

Si estás contento con una sola conexión a tuservidor de intercambio, luego almacene su conexión en una variable estática. Envuélvalo en una clase que proporcione la conexión a través de un captador que también verificará y volverá a conectarse automáticamente antes de devolver la conexión.