Package de.willuhn.jameica.messaging

Messaging-System von Jameica.

Das Design-Pattern Listener/Event ist ein sehr sinnvolles Prinzip, wenn ein Objekt ueber Aenderungen eines anderen informiert werden will. Es ist elementarer Bestandteil (vermutlich) aller Widget-Toolkits um im Programmcode ueber die Interaktionen des Benutzers informiert zu werden. Mit dem Jameica-Messaging-System steht eine Moeglichkeit bereit, pluginuebergreifend in ganz Jameica ueber Ereignisse benachrichtigt zu werden. Um als Nachrichten-Empgfaenger im System registriert zu werden, genuegt es, das Interface MessageConsumer zu implementieren. Beim Start von Jameica ermittelt die MessagingFactory selbstaendig alle existierenden Nachrichten-Verbraucher und registriert diese.
Von nun an kann jede Klasse mittels Application.getMessagingFactory().sendMessage(Message). eine Nachricht versenden. Alle registrierten MessageConsumer erhalten dann diese Nachricht und koennen darauf reagieren. Auf diese Weise kann z.Bsp. ein Plugin A Nachrichten an ein Plugin B senden ohne pruefen zu muessen, ob Plugin B ueberhaupt installiert ist.

WICHTIG: Die Nachrichtenzustellung erolgt in einem separaten Thread. Das ist wichtig, damit ein Nachrichten- Verbraucher Jameica nicht zum Stehen bringen kann, wenn das Verarbeiten der Nachricht zeitaufwendig ist. Also nicht vergessen: Nachrichten-Sender und Verbraucher befinden sich in verschiedenen Threads.