addSIBusMember command

Use the addSIBusMember command to add a member to a service integration bus by using the wsadmin tool. A bus member can be an application server, a WebSphere® MQ server, or a server cluster.

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

[IBM i][IBM i]The wsadmin scripting client is run from Qshell.

Command-line help is provided for service integration bus commands:
  • For a list of the available service integration bus commands in Jython and a brief description of each command, enter the following command at the wsadmin prompt:

    print AdminTask.help('SIBAdminCommands')

  • 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 by using the following command:

AdminConfig.save()

Purpose

The addSIBusMember command adds a new member to a service integration bus. When an application server is added as a member of a bus, a messaging engine with default settings is created automatically.

When a cluster is added as a member of a bus, if messaging engine policy assistance is not enabled, a messaging engine with default settings is created automatically. To create an additional messaging engine for a bus member, use the createSIBEngine command.

When a cluster is added to a bus, if messaging engine policy assistance is enabled and the high availability messaging engine policy type is specified, a messaging engine with settings that support the high availability policy is created automatically.

When a cluster is added to a bus, if messaging engine policy assistance is enabled and the scalability, or scalability with high availability, messaging engine policy type is specified, one messaging engine with settings that support the selected policy is created automatically. You must then use the createSIBEngine command to create additional messaging engines (one for each application server in the cluster). For each new messaging engine, the settings that support the selected policy are created automatically.

If you use the addSIBusMember command with messaging engine policy assistance enabled and the custom messaging engine policy type specified, you can set the behavior for the first messaging engine, then use the createSIBEngine command to create additional messaging engines.

When a WebSphere MQ server is added as a member of a bus, a server proxy is created that can override the parent connection properties (host, port, channel, and SSL security configuration alias) that are defined in the WebSphere MQ server. By this means, a different set of connection properties can be assigned to each bus membership.

Target object

None.

A bus member object is created. If the bus member is a server or a server cluster, a messaging engine is also created.

Required parameters

-bus bus_name
The name by which the service integration bus is known. You can use the listSIBuses command to list the names of existing buses.

Conditional parameters

-node node_name
-server server_name
To add an application server as a bus member, specify both the name of the node on which the server runs, and the name of the server.

If you specify these parameters, do not specify the -cluster or -wmqServer parameters.

-cluster cluster_name
To add a server cluster as a bus member, specify the name of the cluster.

If you specify this parameter, do not specify the -node, -server, or -wmqServer parameters.

-wmqServer
To add a WebSphere MQ server as a bus member, specify the name of the WebSphere MQ server. This is the name that was specified in the -name parameter when the WebSphere MQ server was created.

If you specify this parameter, do not specify the -cluster, -node, or -server parameters.

Optional parameters

-description text
An optional description for the bus member, for administrative purposes.
-virtualQueueManagerName
The override value for the name of the WebSphere MQ server virtual queue manager. When sending messages to IBM MQ, the IBM MQ gateway queue manager sees the bus as a remote queue manager. The virtual queue manager name is the name that is passed to IBM MQ as the name of this remote queue manager. The default value is the name of the bus. If this value is not a valid name for an IBM MQ queue manager, or if another IBM MQ queue manager already exists that has the same name, then replace the default value with another value that is a valid and unique name for an IBM MQ queue manager. To be valid, the name must meet the following criteria:
  • It must contain between 1 and 48 characters.
  • It must conform to the IBM MQ queue naming rules (see the Rules for naming IBM MQ objects topic in the IBM MQ documentation).
-host
The override value for the WebSphere MQ server bus member host attribute. This value is the host name or IP address of the host to which a connection is established to communicate with a queue manager or queue-sharing group. Use this parameter if the -wmqServer parameter is specified.
-port
The override value for the WebSphere MQ server bus member port attribute. The port number is monitored by a queue manager listener or queue-sharing group listener, which is listening for connections. The default value is 1414. Use this parameter if the -wmqServer parameter is specified.
-channel
The override value for the WebSphere MQ server bus member channel attribute. This is the name of the server connection channel that is used to establish a connection to the IBM MQ queue manager or IBM MQ for z/OS® queue sharing group. The default value is SYSTEM.DEF.SVRCONN. Use this parameter if the -wmqServer parameter is specified.
-securityAuthAlias
The override value for the WebSphere MQ server bus member securityAuthAlias attribute. This is the authentication alias that is supplied when connecting to the WebSphere MQ server. This parameter has no default. Use this parameter if the -wmqServer parameter is specified.
-transportChain
The override value for the WebSphere MQ server bus member transportChain attribute. This is the name of the transport chain to use when communicating with IBM MQ. The default value is OutboundBasicWMQClient. Use this parameter if the -wmqServer parameter is specified.
-trustUserIds TRUE | FALSE
The override value for the WebSphere MQ server bus member trustUserIds attribute. This determines whether user IDs that are received in messages from IBM MQ are propagated into messages. The application user ID is always set from the jsAppUserIdRFH2 value. If this is not present (either because the key/value pair is not present in the <sib> folder of the RFH2 header, or because the message does not have a RFH2 header), this field is not set. This parameter has two possible values:
TRUE
User IDs are propagated into messages.
FALSE
User IDs are not propagated into messages.

The default value is TRUE. Use this parameter if the -wmqServer parameter is specified.

-enableAssistance TRUE | FALSE
A parameter that specifies whether to enable messaging engine policy assistance. This parameter has two possible values:
TRUE
Messaging engine policy assistance is enabled. You must supply a -policyName parameter.
FALSE
Messaging engine policy assistance is not enabled. This is the default value. Use this parameter if the -cluster parameter is specified.
-policyName HA | SCALABILITY | SCALABILITY_HA | CUSTOM
The type of messaging engine policy to apply to the cluster. This parameter has four possible values:
HA
Apply the high availability messaging engine policy to the cluster.
SCALABILITY
Apply the scalability messaging engine policy to the cluster.
SCALABILITY_HA
Apply the scalability with high availability messaging engine policy to the cluster.
CUSTOM
Apply the custom messaging engine policy to the cluster.

This parameter has no default. Use this parameter if the -cluster parameter is specified and the -enableAssistance parameter is set to TRUE.

-failover TRUE | FALSE
A parameter that specifies whether the messaging engine in the cluster can fail over to another server in the cluster if the host server for the messaging engine fails. This parameter has two possible values:
TRUE
The messaging engine can fail over.
FALSE
The messaging engine cannot fail over.

The default value is FALSE. Use this parameter if the -cluster parameter is specified, the -enableAssistance parameter is set to TRUE, and the -policyName parameter is set to CUSTOM.

-failback TRUE | FALSE
A parameter that specifies whether the messaging engine in the cluster that has failed over can fail back to a more preferred server in the preferred servers list if that server becomes available again. This parameter has two possible values:
TRUE
The messaging engine can fail back. If you use this option, supply a -preferredServerList parameter.
FALSE
The messaging engine cannot fail back.

The default value is FALSE. Use this parameter if the -cluster parameter is specified, the -enableAssistance parameter is set to TRUE, and the -policyName parameter is set to CUSTOM.

-preferredServersOnly TRUE | FALSE
A parameter that specifies whether the messaging engine in the cluster can run only on servers in the preferred servers list, or on any server in the cluster. This parameter has two possible values:
TRUE
The messaging engine can run only on servers in the preferred servers list. If you use this option, supply a -preferredServerList parameter.
FALSE
The messaging engine can run on any server in the cluster.

The default value is FALSE. Use this parameter if the -cluster parameter is specified, the -enableAssistance parameter is set to TRUE, and the -policyName parameter is set to CUSTOM.

-preferredServerList {{node_name server_name}}
The list of servers, in order of preference, on which the messaging engine in the cluster prefers to run. For each server in the list, specify both the name of the node on which the server runs, and the name of the server. There is no default value for this parameter. Use this parameter if the -cluster parameter is specified, the -enableAssistance parameter is set to TRUE, and the -policyName parameter is set to CUSTOM.
-fileStore
Create a file store to use as a message store for the messaging engine. A file store is a type of message store that directly uses files in a file system through the operating system. The alternative is to use a data store. For more information, see the related links.
-logSize logsize
The size of the log file in MB. Use this parameter if the -fileStore parameter is specified.
-logDirectory logdirectoryname
The name of the log file directory if you do not want to use the default log directory. Use this parameter if the -fileStore parameter is specified.
-minPermanentStoreSize minpermanentstoresize
The minimum size of the permanent store file in MB. Use this parameter if the -fileStore parameter is specified.
-minTemporaryStoreSize mintemporarystoresize
The minimum size of the temporary store file in MB. Use this parameter if the -fileStore parameter is specified.
-maxPermanentStoreSize maxpermanentstoresize
The maximum size of the permanent store file in MB. Use this parameter if the -fileStore parameter is specified.
-maxTemporaryStoreSize maxtemporarystoresize
The maximum size of the temporary store file in MB. Use this parameter if the -fileStore parameter is specified.
-unlimitedPermanentStoreSize TRUE | FALSE
A parameter that specifies whether the permanent store size is unlimited. This parameter has two possible values:
TRUE
The permanent store size is unlimited.
FALSE
The permanent store size is limited. If you use this option, supply a -maxPermanentStoreSize parameter.

Use this parameter if the -fileStore parameter is specified.

-unlimitedTemporaryStoreSize TRUE | FALSE
A parameter that specifies whether the temporary store size is unlimited. This parameter has two possible values:
TRUE
The temporary store size is unlimited.
FALSE
The temporary store size is limited. If you use this option, supply a -maxTemporaryStoreSize parameter.

Use this parameter if the -fileStore parameter is specified.

-permanentStoreDirectory permanentstoredirectoryname
The name of the permanent store directory if you do not want to use the default permanent store directory. Use this parameter if the -fileStore parameter is specified.
-temporaryStoreDirectory temporarystoredirectoryname
The name of the temporary store directory if you do not want to use the default temporary store directory. Use this parameter if the -fileStore parameter is specified.
-dataStore
Create a data store to use as a message store for the messaging engine.

A data store consists of the set of tables that a messaging engine uses to store persistent data in a database. See Data store tables for a list of the tables that comprise a data store. All the tables in a data store are held in the same database schema. You can create multiple data stores in the same database, provided that you use a different schema name for each data store.

The alternative is to use file store (the default). For more information, see the related links.
-createDefaultDatasource TRUE | FALSE
A parameter that specifies whether to create a default data source when the messaging engine is created. This parameter has two possible values:
TRUE
Create a default data source.
FALSE
Do not create a default data source.

Use this parameter if the -dataStore parameter is specified. Do not use this parameter if the -cluster parameter is specified.

-datasourceJndiName jndiname
The JNDI name of the data source that the messaging engine uses to access the relational database management system (RDBMS) for the data store. Use this parameter if the -dataStore parameter is specified.
-authAlias authalias
The name of the authentication alias that the messaging engine uses to connect to the database in its data store. Use this parameter if the -dataStore parameter is specified.
-createTables datasource
Create the database tables for the specified data source automatically. If this option is not specified, the database administrator must create the tables. Use this parameter if the -dataStore parameter is specified.
-restrictLongDBLock TRUE | FALSE
A parameter that specifies whether the active messaging engine must retain long running locks on the SIBOWNER table in the database. When this option is selected, the messaging engine establishes a lock over the database only for short durations. In the event of the active messaging engine not responding to the database, the standby messaging engine will be able to take ownership of the database because the active messaging engine only holds short duration locks. This parameter has two possible values:
TRUE
Restrict long running locks on the database.
FALSE
Do not restrict long running locks on the database.

Use this parameter if the -dataStore parameter is specified.

Important: Although the property is selected, the property will not be effective until the database tables are upgraded using the sibDBUpgrade command for WebSphere Application Server Version 9.0 and later.
-schemaName schemaname
The name of the database schema that contains the tables for the data store, if you do not want to use the default schema name. For details about the default schema, see Creating users and schemas in the database. Use this parameter if the -dataStore parameter is specified.
-initialHeapSize size
The initial Java™ virtual machine (JVM) heap size, in megabytes, of the server or of each server in a cluster. There is no default value. If this parameter is not specified, no change is made. If this parameter is specified, the supplied value must be greater than or equal to zero and less than or equal to 2048. If the parameter is supplied without a value, an error message is generated.
[z/OS]Note: This parameter is ignored if the server that is the subject of the addSIBusMember command is running on z/OS, or, if the subject is a cluster, any server in the cluster is running on z/OS.
-maxHeapSize size
The maximum JVM heap size, in megabytes, of the server or of each server in a cluster. There is no default value. If this parameter is not specified, no change is made. If this parameter is specified, the supplied value must be greater than or equal to zero and less than or equal to 2048. If the parameter is supplied without a value, an error message is generated.
[z/OS]Note: This parameter is ignored if the server that is the subject of the addSIBusMember command is running on z/OS, or, if the subject is a cluster, any server in the cluster is running on z/OS.

Examples

Add a server1 on node1 as a member of bus1 with a default file store.

AdminTask.addSIBusMember('[-bus bus1 -node node1 -server server1 ]')

Add server1 as a member of bus1, and use a file store to save messages.

AdminTask.addSIBusMember('[-bus bus1 -node node1 -server server1 -fileStore ]')

Add server1 as a member of bus1, and use a file store to save messages, with options.

AdminTask.addSIBusMember('[-bus bus1 -node node1 -server server1 -fileStore 
-logSize 100 -logDirectory C:\\filestore1 ]') 

Add server1 as a member of bus1, and use a data store to save messages.

AdminTask.addSIBusMember('[-bus bus1 -node node1 -server server1 -dataStore ]')

Add server1 as a member of bus1, and use a data store to save messages, with options.

AdminTask.addSIBusMember('[-bus bus1 -node node1 -server server1 -dataStore 
-createDefaultDatasource true -datasourceJndiName myjndi]') 

Add cluster1 to bus1 without using messaging engine policy assistance and use a file store as the message store for the messaging engine.

AdminTask.addSIBusMember('[-bus bus1 -cluster cluster1 -fileStore true 
-logDirectory C:\\filestore1 -permanentStoreDirectory C:\\filestore2 
-temporaryStoreDirectory C:\\filestore3]')

Add cluster1 to bus1 and use messaging engine policy assistance and the high availability messaging engine policy. Use a file store as the message store for the messaging engine.

AdminTask.addSIBusMember('[-bus bus1 -cluster cluster1 -enableAssistance true 
-policyName HA -fileStore -permanentStoreDirectory C:\\filestore1 
-temporaryStoreDirectory C:\\filestore1 -logDirectory C:\\filestore1 ]') 

Add cluster1 to bus1 and use messaging engine policy assistance and the custom messaging engine policy. Use a file store as the message store for the messaging engine. Set the messaging engine to fail over, not to fail back, and to run only on server1 and server2.

AdminTask.addSIBusMember('[-bus bus1 -cluster cluster1 -enableAssistance true 
-policyName CUSTOM -fileStore -permanentStoreDirectory C:\\filestore1 
-temporaryStoreDirectory C:\\filestore1 -logDirectory C:\\temp\filestore 
-failover true -failback false -preferredServersOnly true 
-preferredServerList [[node1 server1] [node2 server2]]]') 

[AIX Solaris HP-UX Linux Windows][IBM i]Change the initial JVM heap size to 256 and the maximum JVM heap size to 512.

[AIX Solaris HP-UX Linux Windows][IBM i]
AdminTask.addSIBusMember('[-bus bus1 -node node1 -server server1 
-initialHeapSize 256 -maxHeapSize 512]')