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. Finally, a PostOffice maintains a set of FlowControllers - one for each unique address. These are used, where appropriate to control the flow of messages sent to a particular address

Author:
Tim Fox

Method Summary
 Binding addBinding(SimpleString address, SimpleString queueName, Filter filter, boolean durable, boolean temporary)
           
 boolean addDestination(SimpleString address, boolean temporary)
           
 boolean containsDestination(SimpleString address)
           
 Binding getBinding(SimpleString queueName)
           
 java.util.List<Binding> getBindingsForAddress(SimpleString address)
           
 FlowController getFlowController(SimpleString address)
           
 java.util.Map<SimpleString,java.util.List<Binding>> getMappings()
           
 java.util.Set<SimpleString> listAllDestinations()
           
 Binding removeBinding(SimpleString queueName)
           
 boolean removeDestination(SimpleString address, boolean temporary)
           
 java.util.List<MessageReference> route(ServerMessage message)
           
 
Methods inherited from interface org.jboss.messaging.core.server.MessagingComponent
start, stop
 

Method Detail

addDestination

boolean addDestination(SimpleString address,
                       boolean temporary)
                       throws java.lang.Exception
Throws:
java.lang.Exception

removeDestination

boolean removeDestination(SimpleString address,
                          boolean temporary)
                          throws java.lang.Exception
Throws:
java.lang.Exception

containsDestination

boolean containsDestination(SimpleString address)

addBinding

Binding addBinding(SimpleString address,
                   SimpleString queueName,
                   Filter filter,
                   boolean durable,
                   boolean temporary)
                   throws java.lang.Exception
Throws:
java.lang.Exception

removeBinding

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

getBindingsForAddress

java.util.List<Binding> getBindingsForAddress(SimpleString address)
                                              throws java.lang.Exception
Throws:
java.lang.Exception

getBinding

Binding getBinding(SimpleString queueName)
                   throws java.lang.Exception
Throws:
java.lang.Exception

route

java.util.List<MessageReference> route(ServerMessage message)
                                       throws java.lang.Exception
Throws:
java.lang.Exception

getFlowController

FlowController getFlowController(SimpleString address)

getMappings

java.util.Map<SimpleString,java.util.List<Binding>> getMappings()

listAllDestinations

java.util.Set<SimpleString> listAllDestinations()


Copyright © 2006 JBoss Inc. All Rights Reserved.