Common Messaging Interface Call Routines |
Transports supported: | MSMQ, Rendezvous, Rendezvous-CM |
Syntax | |
Arguments | |
Details | |
Example |
Syntax |
CALL SETMODEL(transport, name, storage, rc, props, value1 <, value2,...>) |
Character, input
Specifies the transport that is associated with this model. MSMQ, Rendezvous, and Rendezvous-CM are the only valid transports for this CALL routine.
Character, input
Identifies the dynamic model or transport model that is assigned.
Character, input
Specifies the location for the model definition. The REGISTRY location is valid.
Numeric, output
Provides the return code from the CALL routine. If an error occurs, then the return code is nonzero. You can use the SAS function SYSMSG() in order to obtain a textual description of the return code.
Character, input
Identifies one or more properties that the queue exhibits once created. This parameter is a character string. Each applicable property is separated by a comma. You must associate a value with each property that is identified by props.
Character or numeric, input
Inputs the values for each property that is specified. Use one of the following values for each of the properties listed in the props parameter.
Character
Specifies whether the queue accepts only authenticated messages. The following values are valid:
Specifies the queue accepts either authenticated or nonauthenticated messages.
Specifies the queue always requires authenticated messages.
Numeric
Specifies a single base priority for all messages sent to a public queue. Values range from -32768 to 32767, where 32767 is the highest priority, and 0 is the default priority.
Character
Specifies whether messages retrieved from the queue are also copied to its journal queue. The following values are valid:
Indicates that messages that are removed from the queue are not stored in a journal.
Indicates that messages that are removed from the queue are always stored in its journal queue.
Numeric
Specifies the maximum size (in kilobytes) of the journal queue. The default size is infinite.
Character
Specifies a description of the queue. The default is a blank label ("").
Character
Specifies the privacy level that is required by the queue. The following values are valid:
Specifies that the queue accepts only nonprivate (clear-text) messages.
Specifies that the queue accepts only private (encrypted) messages.
Specifies that the queue accepts both private and nonprivate messages.
Numeric
Specifies the maximum size (in kilobytes) of the queue. The default size is infinite.
Character
Specifies whether the queue is a transactional queue or a nontransactional queue. The following values are valid:
Indicates that the queue does not accept transactional operations.
Indicates that all messages that are sent to the queue must be done through an MSMQ transaction.
Binary string
Specifies the type of service that is provided by the queue. The value of the TYPE property is a universal unique identifier (UUID) character string that represents binary data. The default is NULL_GUID.
Character
Specifies the service name or port number. If you specify a null value, the transport creation function looks for the service name "rendezvous" and uses 7500 if "rendezvous" is not found. The TIB/Rendezvous documentation strongly recommends that administrators define "rendezvous" as a service, especially if UDP port 7500 is already in use. For more information, consult the TIB/Rendezvous documentation.
Character
Specifies the network name, Host IP, host name, or other identifier of the network. For more information, see the TIB/Rendezvous documentation.
Character
Specifies the TCP socket number for a local daemon, or the remote host name and socket number for a remote daemon. For more information, consult the TIB/Rendezvous documentation.
Note: A model is not required if you are using default Rendezvous values.
Character
Specifies the reusable name of a certified message (CM) transport. This is the CM Correspondent name, which can be omitted if persistent correspondents are not required.
Character
Specifies the name of the file in which to store a file-based ledger. This property can be omitted if persistent correspondents are not required.
Character
Specifies the name of the relay agent. If you use this property, then it must be configured by the Rendezvous administrator.
Character
Indicates whether a persistent correspondent requires delivery of unacknowledged messages that were sent to a previous certified delivery transport with the same CMNAME. Possible types are as follows:
Specifies that the new CM transport does not require certified senders to retain unacknowledged messages. Certified senders can delete those messages from their ledgers.
Specifies that the new CM transport requires certified senders to retain unacknowledged messages sent to this persistent correspondent. When the new CM transport begins listening to the appropriate subjects, the senders can complete delivery. It is an error to specify YES when CMNAME is null.
Character
Specifies how to synchronize the ledger to its storage medium. Possible types are as follows:
Specifies that the operating system writes changes to the storage medium asynchronously.
Specifies that the operations updating the ledger file do not return until the changes are written to the storage medium.
Details |
Dynamic models for MQSeries are defined within its own configuration.
Example |
The following example defines an MSMQ model queue in the SAS registry:
length msg $ 200; length rc 8; rc=0; /* private queue model */ call setmodel('MSMQ', 'MYMODEL', 'REGISTRY', rc, 'AUTHENTICATE,PRIVLEVEL,LABEL', 'ALWAYS', 'BODY', 'Private dynamic queue'); if rc ^= 0 then do; put 'SETMODEL: failed'; msg = sysmsg(); put msg; end; else put 'SETMODEL: succeeded';
Copyright © 2010 by SAS Institute Inc., Cary, NC, USA. All rights reserved.