de.willuhn.jameica.messaging
Interface MessagingQueue

All Known Implementing Classes:
MessagingFactory, 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
 void close()
          Schliesst die Queue und sendet alle noch offenen Nachrichten.
 void flush()
          Sendet alle noch offenen Nachrichten.
 int getQueueSize()
          Liefert die aktuelle Anzahl noch zuzustellender Nachrichten.
 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 Detail

sendMessage

void sendMessage(Message message)
Sendet eine Nachricht asynchron an alle Nachrichtenverbraucher der Queue.

Parameters:
message - die zu versendende Nachricht.

sendSyncMessage

void sendSyncMessage(Message message)
Sendet eine Nachricht synchron an alle Nachrichtenverbraucher der Queue.

Parameters:
message - die zu versendende Nachricht.

getQueueSize

int getQueueSize()
Liefert die aktuelle Anzahl noch zuzustellender Nachrichten.

Returns:
aktuelle Queue-Groesse.

registerMessageConsumer

void registerMessageConsumer(MessageConsumer consumer)
Registriert einen Nachrichten-Consumer manuell in der Queue.

Parameters:
consumer - zu registrierender Consumer.

unRegisterMessageConsumer

void unRegisterMessageConsumer(MessageConsumer consumer)
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.