IBM Support

Script to configure activation specifications and connection factories

Product Readmes


Abstract

A script is available to configure the target fields of Service Integration Bus (SIBus) activation specifications and connection factory objects. The script ensures an efficient pattern of connections between WebSphere Process Server applications that run in an application cluster and SIBus messaging engines that run in a remote messaging cluster (in a gold or silver topology).

Running the script improves performance, increases manageability and serviceability of the environment, and minimizes the potential for problems.

Content

The script is configure_MultipleGold_Messaging.jacl.

Use it with the following DeveloperWorks article, which provides detailed background information and instructions on using it:

"Configuring efficient messaging in multicluster WebSphere Process Server cells"
(http://www.ibm.com/developerworks/websphere/library/techarticles/0811_roberts/0811_roberts.html).

Run the script once for each WebSphere Process Server application cluster (gold/silver topologies) in the cell.

Prerequisite software:

  • PK54128 (for WebSphere Process Server 6.0.2) creates the relevant property definitions on the objects but does not set them.
  • JR29484 - Service Component Architecture (SCA) fix. This fix ensures that internal SCA messages are sent directly to the correct messaging engine. It can be applied later but is an important part of the overall architecture so it must be installed.
  • JR30198 – Resubmitted events through failed event manager create remote queue points.
  • PK71156 – SIBus recovery fixes.

Script functions:

The script performs the following functions:
  • Updates Java™ Message Service (JMS) connection factory objects to use the supplied target (Bus Member name) and significance (Required or Preferred)
  • Updates the JMS connection factory template at the specified scope to ensure that new objects inherit the same defaults
  • Updates JMS SIBus) activation specifications to use the correct (Required) target calculated from the bus configuration. Note that activation specifications are always set to Required because no valid use-case exists for using Preferred.
  • Updates CoreSPI activation specifications to use the correct (Required) target calculated from the bus configuration. Note that activation specifications are always set to Required because no valid use-case exists for using Preferred.
  • Updates JMS and CoreSPI activation specifications templates so that new objects pick up sensible defaults when they are created (To guarantee the correct behavior, run the script again after each application is installed so that it can calculate the correct bus member location for the individual cases/)

Script usage:

wsadmin.sh -f configure_MultipleGold_Messaging.jacl mode appClusterName  significance [scopeOverride]

where:
  • mode
    "VALIDATE" - Check the values but do not make any updates.
    "COMPLETE"
    - Update values that have not yet been set.
    "CORRECT" - Update all values to match expected values
  • appClusterName is the name of the WebSphere Process Server application cluster in question
  • significance is "Required" or "Preferred", the target significance to be applied to JMS connection factory objects.
  • scopeOverride
    (Optional) Defaults to the cluster scope of the specified application cluster. It allows you to override the scope at which resources are queried for the case where resources may have been configured at cell scope. It is best to define all resources at the appropriate application cluster scope.

Examples:

wsadmin -f configure_MultipleGold_Messaging.jacl VALIDATE env.AppTarget Preferred

This example checks the configuration of the messaging resource adapter resources in the env.AppTarget cluster. Activation specifications are checked to see if they match the calculated home of the relevant destination. JMS connection factory objects are checked to see if they are set to BusMember or Preferred. If set to BusMember, the name is the bus member of the associated messaging engine cluster for the application cluster env.AppTarget.

wsadmin -f configure_MultipleGold_Messaging.jacl VALIDATE mattEnv.AppTarget Preferred /Cell:KADGINCell01/

This example looks for resources at the specified (cell) scope. Check the behavior when using this scope option before saving it because the script is primarily intended to act on resources at the application target cluster scope.

wsadmin -f configure_MultipleGold_Messaging.jacl CORRECT env.AppTarget Required

This example updates all of the messaging resource definitions to the correct values as specified, overwriting existing data.

wsadmin -f configure_MultipleGold_Messaging.jacl COMPLETE env.AppTarget Required

This example fills in any blank values, leaving existing values as they are.

wsadmin -f configure_MultipleGold_Messaging.jacl CORRECT server1 Required /Node:KADGINNode01/Server:server1/

This example configures the resources that are specified at server scope for a non-clustered server called server1 running on the node KADGINNode01. This pattern is used in situations where non-clustered servers might also be in the cell, for example, to host adapters that cannot be run in a clustered environment.

To specify the target bus member of JMS connection factory objects, first define a WebSphere variable at the relevant server scope with the name JMSCF_TARGET_BUS_MEMBER; its value is in the form nodename.servername for a non-clustered target or clustername for a clustered target. For example, to target the bus member that is specified in this example, the value of the property KADGINNode01.server1.


Known problems and restrictions:
  • Connection factory and activation specification names (display name, not JNDI name) that contain spaces make it difficult or impossible to parse the list of items. A workaround is to remove the spaces.
  • If all of the resources are defined at the cell scope, it is impossible for the script to determine which ones must be associated with which cluster. It is best to define resources at the appropriate cluster scope.

[{"Product":{"code":"SSQH9M","label":"WebSphere Process Server"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"Clustering","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"},{"code":"PF012","label":"IBM i"}],"Version":"7.0.0.5;7.0.0.4;7.0.0.3;7.0.0.2;7.0.0.1;7.0;6.2","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}},{"Product":{"code":"SS7J6S","label":"WebSphere Enterprise Service Bus"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"General","Platform":[{"code":"","label":""}],"Version":"7.0.0.5;7.0.0.4;7.0.0.3;7.0.0.2;7.0.0.1;7.0;6.2","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
17 June 2018

UID

swg27013612