mx.messaging

# AbstractProducer - AS3 BlazeDS LCDS

Package | mx.messaging
Class | public class AbstractProducer
Inheritance | AbstractProducer MessageAgent EventDispatcher Object
Subclasses | MultiTopicProducer, Producer

Language Version: | ActionScript 3.0

Product Versions: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3

Runtime Versions: | Flash Player 9, AIR 1.1

The AbstractProducer is the base class for the Producer and MultiTopicConsumer classes. You use these classes to push messages to the server.

Public Properties
Hide Inherited Public Properties
Show Inherited Public Properties

| Property | Defined By
--- | --- | ---
|  | authenticated : Boolean [read-only] Indicates if this MessageAgent is using an authenticated connection to its destination. | MessageAgent
|  | autoConnect : Boolean If true the Producer automatically connects to its destination the first time the send() method is called. | AbstractProducer
|  | channelSet : ChannelSet Provides access to the ChannelSet used by the MessageAgent. | MessageAgent
|  | clientId : String [read-only] Provides access to the client id for the MessageAgent. | MessageAgent
|  | connected : Boolean [read-only] Indicates whether this MessageAgent is currently connected to its destination via its ChannelSet. | MessageAgent
|  | constructor : Object A reference to the class object or constructor function for a given object instance. | Object
|  | defaultHeaders : Object The default headers to apply to messages sent by the Producer. | AbstractProducer
|  | destination : String Provides access to the destination for the MessageAgent. | MessageAgent
|  | priority : int The default message priority for the messages sent by the Producer. | AbstractProducer
|  | 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. | AbstractProducer
|  | reconnectInterval : int The number of milliseconds between reconnect attempts. | AbstractProducer
|  | requestTimeout : int Provides access to the request timeout in seconds for sent messages. | MessageAgent

Public Methods
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined By
--- | --- | ---
|  | acknowledge(ackMsg:AcknowledgeMessage, msg:IMessage):void Invoked by a MessageResponder upon receiving a result for a sent message. | MessageAgent
|  | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void Registers an event listener object with an EventDispatcher object so that the listener receives notification of an event. | EventDispatcher
|  | channelConnectHandler(event:ChannelEvent):void Handles a CONNECT ChannelEvent. | MessageAgent
|  | channelDisconnectHandler(event:ChannelEvent):void Handles a DISCONNECT ChannelEvent. | MessageAgent
|  | channelFaultHandler(event:ChannelFaultEvent):void Handles a ChannelFaultEvent. | MessageAgent
|  | connect():void Connects the Producer to its target destination. | AbstractProducer
|  | disconnect():void [override] Disconnects the Producer from its remote destination. | AbstractProducer
|  | dispatchEvent(event:Event):Boolean Dispatches an event into the event flow. | EventDispatcher
|  | fault(errMsg:ErrorMessage, msg:IMessage):void Invoked by a MessageResponder upon receiving a fault for a sent message. | MessageAgent
|  | hasEventListener(type:String):Boolean Checks whether the EventDispatcher object has any listeners registered for a specific type of event. | EventDispatcher
|  | hasOwnProperty(name:String):Boolean Indicates whether an object has a specified property defined. | Object
|  | hasPendingRequestForMessage(msg:IMessage):Boolean Returns true if there are any pending requests for the passed in message. | MessageAgent
|  | initialized(document:Object, id:String):void Called after the implementing object has been created and all properties specified on the tag have been assigned. | MessageAgent
|  | isPrototypeOf(theClass:Object):Boolean Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter. | Object
|  | logout():void Logs the MessageAgent out from its remote destination. | MessageAgent
|  | propertyIsEnumerable(name:String):Boolean Indicates whether the specified property exists and is enumerable. | Object
|  | removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void Removes a listener from the EventDispatcher object. | EventDispatcher
|  | send(message:IMessage):void Sends the specified message to its destination. | AbstractProducer
|  | setCredentials(username:String, password:String, charset:String = null):void Sets the credentials that the MessageAgent uses to authenticate to destinations. | MessageAgent
|  | setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void Sets the availability of a dynamic property for loop operations. | Object
|  | setRemoteCredentials(username:String, password:String, charset:String = null):void Sets the remote credentials that will be passed through to the remote destination for authenticating to secondary systems. | MessageAgent
|  | toLocaleString():String Returns the string representation of this object, formatted according to locale-specific conventions. | Object
|  | toString():String Returns the string representation of the specified object. | Object
|  | valueOf():Object Returns the primitive value of the specified object. | Object
|  | willTrigger(type:String):Boolean Checks whether an event listener is registered with this EventDispatcher object or any of its ancestors for the specified event type. | EventDispatcher

Protected Methods
Hide Inherited Protected Methods
Show Inherited Protected Methods

| Method | Defined By
--- | --- | ---
|  | handleAuthenticationFault(errMsg:ErrorMessage, msg:IMessage):void Handles the authentication fault on the server. | MessageAgent
|  | initChannelSet(message:IMessage):void Used to automatically initialize the channelSet property for the MessageAgent before it connects for the first time. | MessageAgent
|  | internalSend(message:IMessage, waitForClientId:Boolean = true):void Sends a Message from the MessageAgent to its destination using the agent's ChannelSet. | MessageAgent
|  | reAuthorize(msg:IMessage):void This function should be overriden by sublasses to implement reauthentication due to server session time-out behavior specific to them. | MessageAgent

Events
Click for more information on events
Hide Inherited Events
Show Inherited Events

| Event | Summary | Defined By
--- | --- | --- | ---
|  | acknowledge | Dispatched when an acknowledge message is received for a sent message. | MessageAgent
|  | activate | [broadcast event] Dispatched when the Flash Player or AIR application gains operating system focus and becomes active. | EventDispatcher
|  | channelConnect | Dispatched when the underlying Channel the MessageAgent is using connects. | MessageAgent
|  | channelDisconnect | Dispatched when the underlying Channel the MessageAgent is using disconnects. | MessageAgent
|  | channelFault | Dispatched when the underlying Channel the MessageAgent is using faults. | MessageAgent
|  | deactivate | [broadcast event] Dispatched when the Flash Player or AIR application operating loses system focus and is becoming inactive. | EventDispatcher
|  | fault | Dispatched when a message fault occurs. | MessageAgent
|  | propertyChange | Dispatched when the connected property of the MessageAgent changes. | MessageAgent

Property Detail

### autoConnect

property

`autoConnect:Boolean`

Language Version: | ActionScript 3.0

Product Versions: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3

Runtime Versions: | Flash Player 9, AIR 1.1

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.

This property can be used as the source for data binding. When this property is modified, it dispatches the `propertyChange` event.

Implementation
`public function get autoConnect():Boolean`
`public function set autoConnect(value:Boolean):void`

### defaultHeaders

property

`defaultHeaders:Object`

Language Version: | ActionScript 3.0

Product Versions: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3

Runtime Versions: | Flash Player 9, AIR 1.1

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.

This property can be used as the source for data binding. When this property is modified, it dispatches the `propertyChange` event.

Implementation
`public function get defaultHeaders():Object`
`public function set defaultHeaders(value:Object):void`

### priority

property

`priority:int`

Language Version: | ActionScript 3.0

Product Versions: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3

Runtime Versions: | Flash Player 9, AIR 1.1

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.

This property can be used as the source for data binding. When this property is modified, it dispatches the `propertyChange` event.

Implementation
`public function get priority():int`
`public function set priority(value:int):void`

### reconnectAttempts

property

`reconnectAttempts:int`

Language Version: | ActionScript 3.0

Product Versions: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3

Runtime Versions: | Flash Player 9, AIR 1.1

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.

This property can be used as the source for data binding. When this property is modified, it dispatches the `propertyChange` event.

Implementation
`public function get reconnectAttempts():int`
`public function set reconnectAttempts(value:int):void`

Related API Elements

mx.messaging.Producer.reconnectInterval

### reconnectInterval

property

`reconnectInterval:int`

Language Version: | ActionScript 3.0

Product Versions: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3

Runtime Versions: | Flash Player 9, AIR 1.1

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.

This property can be used as the source for data binding. When this property is modified, it dispatches the `propertyChange` event.

Implementation
`public function get reconnectInterval():int`
`public function set reconnectInterval(value:int):void`
Throws

| `ArgumentError` — If the assigned value is negative.

Related API Elements

mx.messaging.Producer.reconnectInterval
Method Detail

### connect

()
method

`public function connect():void`

Language Version: | ActionScript 3.0

Product Versions: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3

Runtime Versions: | Flash Player 9, AIR 1.1

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

| `InvalidDestinationError` — If no destination is set.

Example
How to use this example

             var producer:Producer = new Producer();
             producer.destination = "TestTopic";
             producer.addEventListener(PropertyChangeEvent.PROPERTY_CHANGE, handleConnect);
             producer.connect();

### disconnect

()
method

`override public function disconnect():void`

Language Version: | ActionScript 3.0

Product Versions: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3

Runtime Versions: | Flash Player 9, AIR 1.1

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

()
method

`public function send(message:IMessage):void`

Language Version: | ActionScript 3.0

Product Versions: | BlazeDS 4, Adobe Digital Enterprise Platform Data Services for Java EE 3

Runtime Versions: | Flash Player 9, AIR 1.1

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:IMessage` — The Message to send.

Throws

| `InvalidDestinationError` — If no destination is set.

Example
How to use this example

             var producer:Producer = new Producer();
             producer.destination = "TestTopic";
             var msg:AsyncMessage = new AsyncMessage();
             msg.body = "test message";
             producer.send(msg);

© 2015 Adobe Systems Incorporated. All rights reserved.
Mon Apr 10 2017, 12:28 PM -07:00