createWMQTopic command

Use the createWMQTopic command to create a JMS topic destination for the WebSphere® MQ messaging provider at a specific scope.

To run the command, use the AdminTask object of the wsadmin scripting client.

[IBM i]The wsadmin scripting client is run from Qshell. For more information, see the topic about configuring Qshell to run product scripts.

This command is valid only when it is used with WebSphere Application Server Version 7 and later application servers. Do not use it with earlier versions.

For a list of the available IBM® MQ messaging provider administrative commands, plus a brief description of each command, enter the following command at the wsadmin prompt:

print AdminTask.help('WMQAdminCommands')

For overview help on a given command, enter the following command at the wsadmin prompt:

print AdminTask.help('command_name')

After using the command, save your changes to the master configuration. For example, use the following command:

AdminConfig.save()

Purpose

Use the createWMQTopic command to create a WebSphere MQ messaging provider topic type destination at a specific scope.

You cannot create a WebSphere MQ messaging provider topic type destination under either of the following conditions:
  • A WebSphere MQ messaging provider topic type destination that exists with the same name, at the same scope.
  • The JNDI name clashes with another entry in WebSphere Application Server JNDI.

Target object

The scope of the WebSphere MQ messaging provider at which the WebSphere MQ messaging provider topic type destination is to be created.

Required parameters

-name
The administrative name that is assigned to this WebSphere MQ messaging provider topic type destination.
-jndiName
The name that is used to bind this object into WebSphere Application Server JNDI.
-topicName
The name of the WebSphere MQ topic where publications are received from, or sent to, when this destination definition is used.

Optional parameters

-description
An administrative description that is assigned to the topic type destination.
-persistence
This parameter determines the level of persistence that is used to store messages that are sent to this destination.
Enter one of the following case-sensitive values:
  • APP
  • TDEF
  • PERS
  • NON
  • HIGHT

APP is the default value.

-priority
The priority level to assign to messages sent to this destination.
Enter one of the following values:
  • APP
    Note: (APP is case-sensitive).
  • QDEF
    Note: (QDEF is case-sensitive).
  • <A positive integer in the range 0 to 9 (inclusive)>
Enter one of the following values:
  • APP
    Note: (APP is case-sensitive).
  • QDEF
    Note: (QDEF is case-sensitive).
  • <A positive integer in the range 0 to 9 (inclusive)>

The default value is APP .

-expiry
The length of time after which messages that are sent to this destination expire and are dealt with according to their disposition options.
Enter one of the following values:
  • APP
    Note: (APP is case-sensitive).
  • UNLIM
    Note: (UNLIM is case-sensitive).
  • <Any positive integer>

The default value is APP.

-ccsid
The coded character set identifier (CCSID).

The value of this parameter must be a positive integer or blank. See the IBM MQ messaging provider queue and topic advanced properties settings for more details.

The default value is 1208.

-useNativeEncoding
This parameter specifies whether to use native encoding or not. It can take a value true or false.

If it is set to true, the values of the -integerEncoding, -decimalEncoding, and -floatingPointEncoding attributes are ignored.

If it is set to false, the encoding is specified by the -integerEncoding, -decimalEncoding, and -floatingPointEncoding attributes.

-integerEncoding
The integer encoding setting for this queue.

Enter one of the following case-sensitive values: Normal, Reversed.

Normal is the default value.

-decimalEncoding
The decimal encoding setting for this queue.

Enter one of the following case-sensitive values: Normal, Reversed.

The default value is Normal.

-floatingPointEncoding
The floating point encoding setting for this queue.

Enter one of the following case-sensitive values: IEEENormal, IEEEReversed, z/OS

The default value is IEEENormal.

-useRFH2
This parameter determines whether an RFH version 2 header is appended to messages sent to this destination, also know as targetClient..

Enter one of the following case-sensitive values: true, or false (equivalent to JMS or MQ targetClient, respectively).

The default value is true (JMS targetClient).

-sendAsync
This parameter determines whether messages can be sent to this destination without the queue manager acknowledging that they have arrived.

Enter one of the following case-sensitive values: YES, NO, or TDEF.

The default value is TDEF.

-readAhead
This parameter determines whether messages for non-persistent consumers can be read ahead and cached.

Enter one of the following case-sensitive values: YES, NO, or TDEF.

The default value is TDEF.

-readAheadClose
This property determines the behavior that occurs when you close a message consumer that is receiving messages asynchronously by using a message listener from a destination that has the readAhead parameter set to True.

When a value of deliverAll is specified, all read-ahead messages are delivered before the consumer is closed.

When a value of deliverCurrent is specified, only in-progress messages are delivered before the consumer is closed.

The default value is deliverCurrent.

-wildcardFormat
This parameter determines which sets of characters are interpreted as topic wildcards.

Valid values are Topic or Char.

The default value is Topic.

-brokerDurSubQueue
The name of the queue, which is defined to the queue manager, from which a connection consumer receives non-durable subscription messages.

The value of this parameter must be either blank or a valid queue name.

The default value is SYSTEM.JMS.D.SUBSCRIBER.QUEUE.

-brokerCCDurSubQueue
The name of the queue, which is defined to the queue manager, from which a connection consumer receives durable subscription messages.

The value of this parameter must be either blank or a valid queue name.

The default value is SYSTEM.JMS.D.CC.SUBSCRIBER.QUEUE.

-brokerPubQueue
The name of the queue, which is defined to the queue manager, to which publication messages are sent.

The value of this parameter must be either blank or a valid queue name.

The default value is SYSTEM.BROKER.DEFAULT.STREAM.

-brokerPubQmgr
The name of the queue manager on which the broker is running.

The value of this parameter must be a valid queue manager name or remain blank.

There is no default value.

-brokerVersion
This parameter determines the level of functionality that is required for publish/subscribe operations.

The value of this parameter must be V1 or V2.

The default value is V1.

-customProperties
This parameter specifies custom properties to be passed to the WebSphere MQ messaging provider topic type destination implementation. Typically, custom properties are used to set attributes of the topic type destination that are not directly supported through the WebSphere administration interfaces.
Each custom property is specified using name and value table step parameters. Since these are table steps, the order of the two parameters is fixed, so you must always specify the name first and the value second:
  • In Jython: [name value]
  • In Jacl: {name value}
Note: In the following examples, code blocks beginning with wsadmin> show code that is entered by the user. Lines that do not begin with wsadmin> show code that has been returned by the console.
The following example creates a topic definition by specifying the minimum number of parameters.
  • Using Jython:
    wsadmin>AdminConfig.getid("/Node:9994GKCNode01")
    MQTopic_1098737234986)
     9994GKCNode01(cells/9994GKCNode01Cell/nodes/9994GKCNode01|node.xml#Node_1)
    
    wsadmin>AdminTask.createWMQTopic("9994GKCNode01(cells/9994GKCNode01Cell/
    nodes/9994GKCNode01|node.xml#Node_1)", ["-name T1 -jndiName jms/topic/t1
     -topicName myTopic"])
    
    T1(cells/9994GKCNode01Cell/nodes/9994GKCNode01|resources.xml#
    
  • Using Jacl:
    wsadmin>$AdminConfig getid /Node:9994GKCNode01
     
    9994GKCNode01(cells/9994GKCNode01Cell/nodes/9994GKCNode01|node.xml#Node_1)
    
    wsadmin>$AdminTask createWMQTopic 
    9994GKCNode01(cells/9994GKCNode01Cell/nodes/9994GKCNode01|node.xml#Node_1) 
    {-name T1 -jndiName jms/topic/t1 -topicName myTopic}
    
    T1(cells/9994GKCNode01Cell/nodes/9994GKCNode01|resources.xml#
    MQTopic_1098737234986)