Package de.willuhn.jameica.messaging
Class MessagingFactory
- java.lang.Object
-
- de.willuhn.jameica.messaging.MessagingFactory
-
- All Implemented Interfaces:
MessagingQueue
public final class MessagingFactory extends java.lang.Object implements MessagingQueue
Die Nachrichtenzentrale von Jameica ;). Diese Klasse ermittelt beim Start alle existierenden Nachrichtenverbraucher und stellt denen die Nachrichten zu.- Author:
- willuhn
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Schliesst die Queue und sendet alle noch offenen Nachrichten.voidflush()Sendet alle noch offenen Nachrichten.static MessagingFactorygetInstance()Liefert die Singleton-Instanz der Messaging-Factory.MessagingQueuegetMessagingQueue(java.lang.String name)Liefert eine neue Message-Queue mit dem angegebenen Namen.intgetQueueSize()Liefert die aktuelle Anzahl noch zuzustellender Nachrichten.voidqueueMessage(Message message)Stellt eine Nachricht in die Queue.voidregisterMessageConsumer(MessageConsumer consumer)Registriert einen Nachrichten-Consumer manuell in der Queue.voidsendMessage(Message message)Sendet eine Nachricht asynchron an alle Nachrichtenverbraucher der Queue.voidsendSyncMessage(Message message)Sendet eine Nachricht synchron an alle Nachrichtenverbraucher der Queue.voidunRegisterMessageConsumer(MessageConsumer consumer)Entfernt einen Nachrichten-Consumer aus der Queue.
-
-
-
Method Detail
-
getInstance
public static MessagingFactory getInstance()
Liefert die Singleton-Instanz der Messaging-Factory.- Returns:
- Singleton-Instanz.
-
getQueueSize
public int getQueueSize()
Description copied from interface:MessagingQueueLiefert die aktuelle Anzahl noch zuzustellender Nachrichten.- Specified by:
getQueueSizein interfaceMessagingQueue- Returns:
- aktuelle Queue-Groesse.
- See Also:
MessagingQueue.getQueueSize()
-
getMessagingQueue
public MessagingQueue getMessagingQueue(java.lang.String name)
Liefert eine neue Message-Queue mit dem angegebenen Namen. Existiert sie noch nicht, wird sie automatisch erstellt. Nachrichten, die in diese Queue gesendet werden, empfangen nur noch die Message-Consumer, die eine gleichnamige Queue abonniert haben.- Parameters:
name- Name der Queue.- Returns:
- die neue Queue.
-
registerMessageConsumer
public void registerMessageConsumer(MessageConsumer consumer)
Description copied from interface:MessagingQueueRegistriert einen Nachrichten-Consumer manuell in der Queue.- Specified by:
registerMessageConsumerin interfaceMessagingQueue- Parameters:
consumer- zu registrierender Consumer.- See Also:
MessagingQueue.registerMessageConsumer(de.willuhn.jameica.messaging.MessageConsumer)
-
unRegisterMessageConsumer
public void unRegisterMessageConsumer(MessageConsumer consumer)
Description copied from interface:MessagingQueueEntfernt einen Nachrichten-Consumer aus der Queue.- Specified by:
unRegisterMessageConsumerin interfaceMessagingQueue- Parameters:
consumer- zu entfernender Consumer.- See Also:
MessagingQueue.unRegisterMessageConsumer(de.willuhn.jameica.messaging.MessageConsumer)
-
close
public void close()
Description copied from interface:MessagingQueueSchliesst die Queue und sendet alle noch offenen Nachrichten.- Specified by:
closein interfaceMessagingQueue- See Also:
MessagingQueue.close()
-
sendMessage
public void sendMessage(Message message)
Description copied from interface:MessagingQueueSendet eine Nachricht asynchron an alle Nachrichtenverbraucher der Queue.- Specified by:
sendMessagein interfaceMessagingQueue- Parameters:
message- die zu versendende Nachricht.- See Also:
MessagingQueue.sendMessage(de.willuhn.jameica.messaging.Message)
-
sendSyncMessage
public void sendSyncMessage(Message message)
Description copied from interface:MessagingQueueSendet eine Nachricht synchron an alle Nachrichtenverbraucher der Queue.- Specified by:
sendSyncMessagein interfaceMessagingQueue- Parameters:
message- die zu versendende Nachricht.- See Also:
MessagingQueue.sendSyncMessage(de.willuhn.jameica.messaging.Message)
-
queueMessage
public void queueMessage(Message message)
Description copied from interface:MessagingQueueStellt eine Nachricht in die Queue. Dort bleibt sie solange, bis ein Consumer dafuer vorhanden ist.- Specified by:
queueMessagein interfaceMessagingQueue- Parameters:
message- die zu versendende Nachricht.- See Also:
MessagingQueue.queueMessage(de.willuhn.jameica.messaging.Message)
-
flush
public void flush()
Description copied from interface:MessagingQueueSendet alle noch offenen Nachrichten. Die Funktion kehrt erst zurueck, nachdem alle Nachrichten zugestellt wurden.- Specified by:
flushin interfaceMessagingQueue- See Also:
MessagingQueue.flush()
-
-