class AbstractProducer
package feathers.messaging
extends MessageAgent
extended by Producer
The AbstractProducer is the base class for the Producer and MultiTopicConsumer classes. You use these classes to push messages to the server.
Variables
autoConnect:Bool
If true
the Producer automatically connects to its destination the
first time the send()
method is called.
If false
then the connect()
method must be called explicitly to
establish a connection to the destination.
By default this property is true
, but applications that need to operate
in an offline mode may set this to false
to prevent the send()
method
from connecting implicitly.
defaultHeaders:Dynamic
The default headers to apply to messages sent by the Producer. Any default headers that do not exist in the message will be created. If the message already contains a matching header, the value in the message takes precedence and the default header value is ignored.
priority:Int
The default message priority for the messages sent by the Producer. The valid values are 0 to 9 (0 being lowest) and -1 means that the Producer does not have a priority set. Note that if the message already has a priority defined, that takes precedence over Producer's priority.
reconnectAttempts:Int
The number of reconnect attempts that the Producer makes in the event that the destination is unavailable or the connection to the destination closes. A value of -1 enables infinite attempts. A value of zero disables reconnect attempts.
Reconnect attempts are made at a constant rate according to the reconnect interval value. When a reconnect attempt is made if the underlying channel for the Producer is not connected or attempting to connect the channel will start a connect attempt. Subsequent Producer reconnect attempts that occur while the underlying channel connect attempt is outstanding are effectively ignored until the outstanding channel connect attempt succeeds or fails.
See also:
mx.messaging.Producer#reconnectInterval
reconnectInterval:Int
The number of milliseconds between reconnect attempts. If a Producer doesn't receive an acknowledgement for a connect attempt, it will wait the specified number of milliseconds before making a subsequent reconnect attempt. Setting the value to zero disables reconnect attempts.
Reconnect attempts are made at a constant rate according to this value. When a reconnect attempt is made if the underlying channel for the Producer is not connected or attempting to connect the channel will start a connect attempt. Subsequent Producer reconnect attempts that occur while the underlying channel connect attempt is outstanding are effectively ignored until the outstanding channel connect attempt succeeds or fails.
Throws:
ArgumentError | If the assigned value is negative. |
---|
See also:
mx.messaging.Producer#reconnectInterval
Methods
connect():Void
Connects the Producer to its target destination.
When a connection is established the connected
property will
change to true
and this property is bindable and generates
PropertyChangeEvent
s.
The internal TRIGGER_CONNECT_OPERATION CommandMessage that is sent will result
in an acknowledge or fault event depending upon whether the underlying channel
establishes its connection.
Throws:
mx.messaging.errors.InvalidDestinationError | If no destination is set.
|
---|
disconnect():Void
Disconnects the Producer from its remote destination.
This method does not wait for outstanding network operations to complete.
After invoking disconnect()
, the Producer will report that it is not
connected and it will not receive any outstanding message acknowledgements or faults.
Disconnecting stops automatic reconnect attempts if they are running.
send(message:IMessage):Void
Sends the specified message to its destination. If the producer is being used for publish/subscribe messaging, only messages of type AsyncMessage should be sent unless a custom message type is being used and the message destination on the server has been configured to process the custom message type.
Parameters:
message | The Message to send. |
---|
Throws:
mx.messaging.errors.InvalidDestinationError | If no destination is set.
|
---|