Configuring Java CAPS Project Components for Communication Adapters

MSMQ Adapter Outbound Connectivity Map Properties

When use one of these properties, for example Format Name, to identify a queue, recommend that you leave the value for the other two properties blank (in this case, you would leave the MSMQ Queue Alias and MSMQ Queue Name properties blank). This ensures that only the queue identification method you specify is used.

The MSMQ Configuration section of the outbound MSMQ Adapter Connectivity Map properties contains the top-level properties displayed in this table:

Table 62 Connectivity Map - Outbound - MSMQ Configuration

Name 

Description 

Required Value 

MSMQ Queue Alias

Specifies the queue alias. A queue alias associates an ADs path and a user-defined string (alias) with a public, private, or direct single-element format name. 

To send or receive messages using a queue alias, MSMQ and the Active Directory service must be installed on the same computer as the Application Server.

The queue alias. 

See SOCKS (BatchFTP Connectivity Map) for more information.

MSMQ Format Name

Specifies the format name of the queue. The format name is a string that uniquely identifies a queue using connection details and the queue’s path. Different types of format names can be used to specify how messages are routed, the type of destination, and the type of operation for which the queue is being opened. 

Configure your MQ security attributes to accept TCP and HTTP protocol. 

The public or private format name in the following manner: 

  • For public queues use the following:

    DIRECT=TCP:

    IPAddress\QueueName

    DIRECT=OS:

    ComputerName\QueueName

    DIRECT=HTTP:

    //Host/msmq/QueueName

  • For private queues use the following:

    DIRECT=TCP:

    IPAddress\

    private$\QueueName

    DIRECT=OS:

    ComputerName\private$\QueueName

    Configure your MQ security attributes to accept TCP and HTTP protocol.

    For examples of both public and private MSMQ Format Names, see Pre Transfer (BatchFTP Connectivity Map).

    If the ComputerName or Host name contains more than 15 characters, MSMQ will truncate the name. In this case, you must use the truncated ComputerName. refer to the queue Properties, General tab to see the specific ComputerName for your system. See Pre Transfer (BatchFTP Connectivity Map) for more information.

    See SOCKS (BatchFTP Connectivity Map) for more information.

MSMQ Queue Name

Specifies the Microsoft Message queue name. 

The string name that identifies the queue. This is associated with the host name, so the value is entered as host/queue, where host is the host name and queue is the queue name.

See SOCKS (BatchFTP Connectivity Map) for more information.

MSMQ Transaction Type

Specifies the outbound transaction type. The options are: 

  • MQ_NO_TRANSACTION: Select this value when sending messages to a non-transactional queue.

  • MQ_XA_TRANSACTION: Select this value when sending messages to an XA-transactional queue.

  • MQ_SINGLE_MESSAGE: Select this value when sending messages to a transactional queue.

    This value does not apply to or affect inbound messages from a transactional queue.

Select MQ_NO_TRANSACTION, MQ_XA_TRANSACTION, or MQ_SINGLE_MESSAGE as the transaction type.

Use the default value, MQ_NO_TRANSACTION.

For more information,see MSMQ user documentation.

MSMQ Share Mode

Specifies the MSMQ share mode as one of the following: 

  • DENY_NONE: Grants everyone full access to send, peek at, or retrieve messages from the queue while it is open.

  • DENY_RECEIVE_SHARE: You alone can peek at or retrieve messages until the queue is closed. Other applications are still able to send messages to the queue, but they may not delete messages while you have the queue open.

Select DENY_NONE or DENY_RECEIVE_SHARE.

  • DENY_NONE is the configured default.

  • Error Conditions

An error message occurs if you or anyone tries to open the queue with RECEIVE_ACCESS or PEEK_ACCESS after Message Queuing opens the queue.

If you attempt to open a queue with DENY_RECEIVE_SHARE when the queue is already open with RECEIVE_ACCESS or PEEK_ACCESS, the call will fail.

Message Priority

Specifies the message priority level for all messages. Priorities range from level 0 (low priority) to 7 (high priority). Messages are stored in descending order in the queue, with higher priority messages first. Priority is only valid when MSMQ Access Mode is set to SEND_ACCESS .

A number between 0 and 7 indicating the message priority.

The configured default is 3.

MSMQ Receive Action Code

Specifies the MSMQ receive action code as one of the following: 

  • ACTION_RECEIVE: Reads the message at the current cursor location and removes it from the queue.

  • ACTION_PEEK_CURRENT: “Peeks” for last message in the queue. You can use this functionality when there are several messages coming in and going out of queue, and you want to peek (look) and get the latest message.

Select ACTION_RECEIVE or ACTION_PEEK_CURRENT.

ACTION_RECEIVE is the configured default.

MSMQ Access Mode

Specifies whether Message Queuing opens the queue with peek, send, or receive access. 

  • RECEIVE_ACCESS: Allows messages to be retrieved from a queue when they are read. This is used when the receiving application opens a queue to remove messages.

  • SEND_ACCESS: Allows messages to be sent to a queue. This is used when the sending application opens a queue to send messages.

  • PEEK_ACCESS: Allows messages to be read from a queue without removing them. This is used when the receiving application opens a queue to read message.

Select RECEIVE_ACCESS, SEND_ACCESS, or PEEK_ACCESS.

You must set Access Mode to SEND ACCESS to use Message Priority.

Connection Mode

Specifies whether a physical connection is established when an external connection is instantiated. The options are: 

  • Automatic: Establishes a physical connection when an external connection is instantiated.

  • Manual: Does not connect to the external system on startup, and instead expects the user to initiate the connection from the Collaboration (for example, by calling the connect() method).

Select Automatic or Manual (dynamic).

The configured default is Automatic.