Sending messages

Your ColdFusion application sends a message to a Flex application by calling the ColdFusion SendGatewayMessage function. In messages sent from CFML, the following structure members are translated to the Flex message:




Destination of the message. This entry is required if it is not specified in the configuration file.


Required. The notification action that is being performed: create, delete, deleteID, refreshfill, or update.


Required when action="create" or action="delete". The record that was added or deleted.


Required when action="deleteID". A structure that contains the identity properties (primary key) of the record that was deleted.


Optional. An array that contains the fills parameters that specify which fill operations to refresh.


Required when action="update". The record that was updated.


Optional. The previous record, before the update. This entry is used for conflict resolution.


Optional when action="update". A comma-delimited list or array of property names that were updated in the record. If you omit this entry, ColdFusion assumes that all properties changed. When you change a large number of records, you specifying the property names can improve performance.Required when action="batch". An array of structures that contain the changes. You can batch multiple changes and send them in a single notification. The changes can be of different types, for example five updates, one delete, and two creates. Each event structure must contain an action.


The following example creates a structure for each event type. It then creates a structure that contains the message. The message structure contains an array of event structures to send to Flex. The destination is the destination ID specified in the flex-services.xml file for the instance of the Data Management event gateway to send the message to. The body is the body of the message. The sendGatewyMessage CFML function sends the message to the instance of the gateway.

// Create event
createEvent = StructNew();
createEvent.action = "create";
createEvent.item = newContact;

// Create update notification
updateEvent = StructNew();
updateEvent.previousversion = oldContact;
updateEvent.newversion = updatedContact;

// Create delete notification
identity = StructNew();
identity["contactId"] = newId;
deleteEvent = StructNew();
deleteEvent.action = "deleteID";
deleteEvent.identity = identity;

// Send a batch notification
all = StructNew();
all.changes = ArrayNew(1);
all.changes[1] = createEvent;
all.changes[2] = updateEvent;
all.changes[3] = deleteEvent;
r = sendGatewayMessage("LCDS", all);
Adobe logo

Sign in to your account