Package de.willuhn.jameica.messaging
Class NamedConcurrentQueue
- java.lang.Object
-
- de.willuhn.jameica.messaging.NamedConcurrentQueue
-
- All Implemented Interfaces:
MessagingQueue
public class NamedConcurrentQueue extends java.lang.Object implements MessagingQueue
Implementierung einer benamten Queue, die jedoch mittels ThreadPoolExecutor multi-threaded arbeitet.
-
-
Constructor Summary
Constructors Constructor Description NamedConcurrentQueue(java.lang.String name)ct.
-
Method Summary
All 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.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
-
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)
-
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()
-
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()
-
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()
-
-