Hola, amigos; de antemano gracias por la orientación que me puedan dar.
Tengo una aplicación web, desarrollada con Servlet. Se presento un problema y creo que es de concurrencia (puedo estar equivocado); el asunto es:
Un cliente x solicito al servlet que ejecutara la tarea A (dos accesos a base de datos), con una diferencia de 26 segundos, un cliente y solicita al mismo servlet que ejecute la tarea B (un acceso a base datos). En ese momento el servlet deja de ejecutar la Tarea A (solamente hizo un acceso y no los dos como estaba programado) para ejecutar la Tarea B.
Replicando la falla, encontré que el servlet en ejecutar la Tarea A gasta 1 segundo.
Los tiempos los conozco porque audito todas las actividades dentro de la aplicación.
Es importante decir, que la Tarea A es crear un nuevo registro y actualizar uno existente, con datos calculados previamente al empleo de la codificación de acceso a la Base de Datos. De igual forma, decir; que es una aplicación de carga critica por cuanto son registros contables los afectados.
Mi pregunta es:
Teniendo en cuenta los tiempos entre la ejecución de la Tarea A y la Tarea B, el no completar la primera, es debido a un problema de concurrencia; o por el contrario, es otra la causa de la misma, y de ser así; cual seria la posible causa.
La aplicación implementa como WAS un Tomcat versión 7 y como RDBMS MySQL versión 5.1.36