Pregunta

Creo que cualquier programador que haya tratado con solicitudes de base de datos en una aplicación gui se ha encontrado con algunos o todos los siguientes problemas:

  • Tu GUI se congela porque llamas capa de base de datos desde dentro del evento subproceso de envío
  • Cuando tiene múltiples ventanas / paneles / jframes donde el usuario puede iniciar una solicitud de db, su rendimiento se degrada porque no tiene ningún control sobre los subprocesos que crea el usuario
  • El usuario puede bloquear la aplicación e incluso la base de datos porque llama a cualquier acción muchas veces antes de que la primera acción haya finalizado

¿Qué me gustaría saber? ¿Existen marcos que manejen los requisitos para manejar un conjunto ordenado de acciones de ejecución prolongada (incluidas, entre otras, llamadas a bases de datos, es decir, cálculos) fuera de la cadena de distribución de eventos?

Nota: Sé de SwingWorker ;-)

¿Fue útil?

Solución

Tal cosa debería encontrarse en Netbeans por ejemplo. Ver RequestProcessor. Pero en casos más simples esto no es necesario. La última vez que necesité algo como programación y control de hilos, simplemente utilicé nuevos paquetes de concurrencia incluidos en J5 (usé J6). Con su ExecutorFactory-ies, simplemente puede lograr un control básico sobre las tareas. También puedes usar algunas colas. Este PDF puede ayudar . El PDF está escrito en idioma eslovaco, pero los trabajadores de tareas únicas / múltiples están escritos en Java;)

Otros consejos

Los objetos desnudos facilitan un modelo de dominio limpio y también tienen una capa de mapeo GUI 2 DB - http://www.nakedobjects.org/home/index.shtml

Dudo que encuentre algo específico para las solicitudes de base de datos. Puede intentar reutilizar las bibliotecas de planificación de tareas genéricas existentes. Un ejemplo es la API de trabajos de Eclipse. Esto no depende del IDE.

Consulte http://www.eclipse.org/articles/ Artículo-Concurrencia / jobs-api.html

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top