Actualizar datos en programa de escritorio en RED

hola que tal.
Diseñe un programita en java+swing este es para el escritorio.
Necesitaba una forma de actualizar datos en un JTable, para eso utilize Timer
Cada 5 segundos actualizo la informacion del JTable ya que el programa lo usa varias personas.
El programa usa mysql para el alamcenamiento d ela info.
El asunto es que ando buscando una solucion que no sea el Timer para actualizar los datos.

tiro la pregunta al foro para ver si alguien me da una idea de como manejar esta situacion.

De antemano gracias a todos.
Ya que con su ayuda he hecho mis primeros proyectos en java.

Nota estoy usando:hibernate para la persistencia
Saludos

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de ezamudio

lazy

Cargar los datos solamente cuando realmente los necesitas, de manera lazy, con un tiempo de expiración.

Puedes tener un componente que es el que actualiza los datos:

 

Con eso solamente vas a leer los datos cada que expiran (puedes ponerle un timeout de 5 segundos o de 5 minutos o lo que tu quieras). Ahora lo que falta es que pidas los datos cuando el usuario los va a ver solamente. Registra un ComponentListener para saber cuando tu JTable es mostrado:

 

De ese modo, los datos serán cargados únicamente cada vez que el usuario ve ese JTable y ya pasó el tiempo de expiración. Si en una hora no los ve, no los cargas. Si el tiempo de expiración es de 1 minuto y el usuario regresa a ver ese JTable cada 10 segundos, sólo se cargarán hasta que pase 1 minuto.

suscribir evento al jtable

como le digo a la clase Actualizador que jtable debe actualizar?