Package de.willuhn.jameica.messaging
Interface MessagingQueue
- All Known Implementing Classes:
MessagingFactory
,NamedConcurrentQueue
,NamedQueue
public interface MessagingQueue
Eine Queue, ueber die Nachrichten verschickt werden koennen.
Die Messaging-Factory selbst implementiert dieses Interface
auch. Es kann allerdings weitere Implementierungen geben.
-
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Schliesst die Queue und sendet alle noch offenen Nachrichten.void
flush()
Sendet alle noch offenen Nachrichten.int
Liefert die aktuelle Anzahl noch zuzustellender Nachrichten.void
queueMessage
(Message message) Stellt eine Nachricht in die Queue.void
registerMessageConsumer
(MessageConsumer consumer) Registriert einen Nachrichten-Consumer manuell in der Queue.void
sendMessage
(Message message) Sendet eine Nachricht asynchron an alle Nachrichtenverbraucher der Queue.void
sendSyncMessage
(Message message) Sendet eine Nachricht synchron an alle Nachrichtenverbraucher der Queue.void
unRegisterMessageConsumer
(MessageConsumer consumer) Entfernt einen Nachrichten-Consumer aus der Queue.
-
Method Details
-
sendMessage
Sendet eine Nachricht asynchron an alle Nachrichtenverbraucher der Queue.- Parameters:
message
- die zu versendende Nachricht.
-
sendSyncMessage
Sendet eine Nachricht synchron an alle Nachrichtenverbraucher der Queue.- Parameters:
message
- die zu versendende Nachricht.
-
queueMessage
Stellt eine Nachricht in die Queue. Dort bleibt sie solange, bis ein Consumer dafuer vorhanden ist.- Parameters:
message
- die zu versendende Nachricht.
-
getQueueSize
int getQueueSize()Liefert die aktuelle Anzahl noch zuzustellender Nachrichten.- Returns:
- aktuelle Queue-Groesse.
-
registerMessageConsumer
Registriert einen Nachrichten-Consumer manuell in der Queue.- Parameters:
consumer
- zu registrierender Consumer.
-
unRegisterMessageConsumer
Entfernt einen Nachrichten-Consumer aus der Queue.- Parameters:
consumer
- zu entfernender Consumer.
-
close
void close()Schliesst die Queue und sendet alle noch offenen Nachrichten. -
flush
void flush()Sendet alle noch offenen Nachrichten. Die Funktion kehrt erst zurueck, nachdem alle Nachrichten zugestellt wurden.
-