Como criar um ouvinte para um método em java

Estou tendo um momento muito ruim para implementar um ouvinte em um método.

No meu trabalho atual eu tenho que solicitar um método a cada 5 segundos, a fim de verificar novas informações, então eu quero implementar um método para me notificar toda vez que uma nova informação vem descartando o método solicitante a cada 5 segundos.

(Eu já li sobre o padrão observador, mas não tive sucesso em implementar).

Cumprimentos

Mais informações: Por enquanto estou substituindo esse método da biblioteca XMPP smack para armazenar novas mensagens na fila msgs

public void processMessage(Chat chat, Message message) {
    if (message.getType() == Message.Type.chat) {
        req = message.getBody().toString();
        String[] temp = { chat.getParticipant().toString(), req };
        System.out.println(temp[0]+"says:"+temp[1]);
        synchronized (lock) {
            msgs.add(temp);
        }
    }
} 

e do que eu tenho esse método executado a cada 0,5 segundos, a fim de verificar novas mensagens:

public String[] getMessage() {
    synchronized (lock) {
        String[] data;
        data=msgs.poll();
        return data;
    }
}

Eu estou tentando definir um sistema de notificação que me notifica toda vez que o processMessage é executado.

questionAnswers(1)

yourAnswerToTheQuestion