org.jboss.messaging.core.postoffice
Interface PostOffice

All Superinterfaces:
MessagingComponent
All Known Implementing Classes:
PostOfficeImpl

public interface PostOffice
extends MessagingComponent

A PostOffice instance maintains a mapping of a String address to a Queue. Multiple Queue instances can be bound with the same String address. Given a message and an address a PostOffice instance will route that message to all the Queue instances that are registered with that address. Addresses can be any String instance. A Queue instance can only be bound against a single address in the post office. The PostOffice also maintains a set of "allowable addresses". These are the addresses that it is legal to route to.

Author:
Tim Fox

Method Summary
 java.util.List<Queue> activate()
           
 void addBinding(Binding binding)
           
 Binding getBinding(SimpleString uniqueName)
           
 Bindings getBindingsForAddress(SimpleString address)
           
 DuplicateIDCache getDuplicateIDCache(SimpleString address)
           
 Bindings getMatchingBindings(SimpleString address)
           
 java.lang.Object getNotificationLock()
           
 PagingManager getPagingManager()
           
 boolean redistribute(ServerMessage message, Queue originatingQueue, Transaction tx)
           
 Binding removeBinding(SimpleString uniqueName)
           
 void route(ServerMessage message)
           
 void route(ServerMessage message, Transaction tx)
           
 void sendQueueInfoToQueue(SimpleString queueName, SimpleString address)
           
 
Methods inherited from interface org.jboss.messaging.core.server.MessagingComponent
isStarted, start, stop
 

Method Detail

addBinding

void addBinding(Binding binding)
                throws java.lang.Exception
Throws:
java.lang.Exception

removeBinding

Binding removeBinding(SimpleString uniqueName)
                      throws java.lang.Exception
Throws:
java.lang.Exception

getBindingsForAddress

Bindings getBindingsForAddress(SimpleString address)
                               throws java.lang.Exception
Throws:
java.lang.Exception

getBinding

Binding getBinding(SimpleString uniqueName)

getMatchingBindings

Bindings getMatchingBindings(SimpleString address)

route

void route(ServerMessage message)
           throws java.lang.Exception
Throws:
java.lang.Exception

route

void route(ServerMessage message,
           Transaction tx)
           throws java.lang.Exception
Throws:
java.lang.Exception

redistribute

boolean redistribute(ServerMessage message,
                     Queue originatingQueue,
                     Transaction tx)
                     throws java.lang.Exception
Throws:
java.lang.Exception

activate

java.util.List<Queue> activate()

getPagingManager

PagingManager getPagingManager()

getDuplicateIDCache

DuplicateIDCache getDuplicateIDCache(SimpleString address)

sendQueueInfoToQueue

void sendQueueInfoToQueue(SimpleString queueName,
                          SimpleString address)
                          throws java.lang.Exception
Throws:
java.lang.Exception

getNotificationLock

java.lang.Object getNotificationLock()


Copyright © 2006 JBoss Inc. All Rights Reserved.