org.objectweb.joram.mom.amqp
Class DirectExchange
java.lang.Object
fr.dyade.aaa.agent.Agent
org.objectweb.joram.mom.amqp.ExchangeAgent
org.objectweb.joram.mom.amqp.DirectExchange
- All Implemented Interfaces:
- fr.dyade.aaa.agent.AgentMBean, java.io.Serializable
public class DirectExchange
- extends ExchangeAgent
The direct exchange type provides routing of messages to zero or more queues
based on an exact match between the routing key of the message, and the
binding key used to bind the queue to the exchange. This can be used to
construct the classic point-to-point queue based messaging model, however, as
with any of the defined exchange types, a message may end up in multiple
queues when multiple binding keys match the message's routing key.
The direct exchange type works as follows:
- 1. A message queue is bound to the exchange using a binding key, K.
- 2. A publisher sends the exchange a message with the routing key R.
- 3. The message is passed to all message queues bound to the exchange with
key K where K = R.
- See Also:
- Serialized Form
Fields inherited from class fr.dyade.aaa.agent.Agent |
fixed, logmon, nullName |
Constructor Summary |
DirectExchange(java.lang.String name,
boolean durable)
|
Method Summary |
void |
bind(java.lang.String queue,
java.lang.String routingKey,
java.util.Map arguments)
|
void |
doReact(fr.dyade.aaa.agent.UnknownAgent not)
|
boolean |
isUnused()
|
void |
publish(java.lang.String exchange,
java.lang.String routingKey,
AMQP.Basic.BasicProperties properties,
byte[] body)
|
void |
setArguments(java.util.Map arguments)
|
void |
unbind(java.lang.String queue,
java.lang.String routingKey,
java.util.Map arguments)
|
Methods inherited from class fr.dyade.aaa.agent.Agent |
agentFinalize, delete, delete, deploy, deploy, getAgentId, getId, getLogTopic, getName, isDeployed, isFixed, needToBeCommited, save, sendTo, sendTo, sendTo, setName, setNoSave, setSave, toString |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
DirectExchange
public DirectExchange(java.lang.String name,
boolean durable)
bind
public void bind(java.lang.String queue,
java.lang.String routingKey,
java.util.Map arguments)
- Specified by:
bind
in class ExchangeAgent
unbind
public void unbind(java.lang.String queue,
java.lang.String routingKey,
java.util.Map arguments)
- Specified by:
unbind
in class ExchangeAgent
publish
public void publish(java.lang.String exchange,
java.lang.String routingKey,
AMQP.Basic.BasicProperties properties,
byte[] body)
- Specified by:
publish
in class ExchangeAgent
setArguments
public void setArguments(java.util.Map arguments)
- Specified by:
setArguments
in class ExchangeAgent
doReact
public void doReact(fr.dyade.aaa.agent.UnknownAgent not)
- Specified by:
doReact
in class ExchangeAgent
isUnused
public boolean isUnused()
- Specified by:
isUnused
in class ExchangeAgent
Copyright © 2000 - 2009 Scalagent D.T. - All rights reserved