IBM Integration Bus, Version 9.0.0.8 Operating Systems: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

See information about the latest product version

Broker properties that are accessible from ESQL, the Mapping node, and Java

You can access broker, message flow, and node properties from ESQL, the Mapping node, and Java™.

Broker properties accessible through the Mapping node

The following table shows the properties that are available through the Mapping node:

Table 1. List of Broker properties accessible through the Mapping node
ESQL Property name Mapping node function Description
Broker name (Character) mb:getBrokerName() The name of the broker.
Queue manager name (Character) mb:getQueueManagerName() The name of the WebSphere® MQ queue manager to which the broker is connected.
Node label (Character) mb:getNodeName() The name of the node.
Message flow name (Character) mb:getMessageFlowName() The name of the message flow where the Mapping node executing the map is running in.
Application name (Character) mb:getApplicationName() The name of the application where the message flow in which the Mapping node executing the map is running in.
Library name (Character) mb:getLibraryName() The name of the library where the message flow in which the Mapping node executing the map is running in.

Broker properties available to ESQL and Java code

The following table shows the properties that are available to ESQL and Java code by using the CMP interface.

The Java code, where applicable, is shown in the second column of the table.

Note that the BrokerProxy, ExecutionGroupProxy, MessageFlowProxy, and LocalBrokerUtilities classes are all part of the CMP interface (ConfigManagerProxy.jar). This JAR needs to be referenced from your Java project in your IBM® Integration Toolkit, but it does not need to be deployed to the broker.

Start of changeIt is best practice to call disconnect() on the BrokerProxy object after you have finished using it. By calling disconnect(), you deregister all listeners that are registered to the BrokerProxy instance and close the link to the broker.End of change

For a complete overview of broker properties, see Broker properties.

Table 2. General broker properties.
Note: The only broker-defined properties that can be used in a Trace node are those in the "General broker properties" group. For example, you could specify the Pattern setting of a Trace node as:
#### Start Trace Input Message
  Time: ${CURRENT_TIMESTAMP}
  Broker: ${BrokerName}  Version: ${BrokerVersion}  Platform: ${Family}
  ProcessID: ${ProcessId}  BrokerUserId: ${BrokerUserId}
  ExecutionGroupLabel: ${ExecutionGroupLabel}
  Root Tree: ${Root} 
#### End Trace Input Message
ESQL Property name Java access method Description
BrokerName (Character) Accessible through:
  1. MbNode.getBroker()
  2. MbBroker.getName()
The name of the broker.
BrokerUserId (Character) Use

System.getProperty("user.name");

to get the name of the user ID under which the broker was started.
The user ID under which the broker is running (that is, the user ID specified by the -i flag on the mqsicreatebroker command on Windows, or the user ID that started the broker by using the mqsistart command on Linux and UNIX systems).
BrokerVersion (Character) Use

BrokerProxy b = BrokerProxy.getLocalInstance();
int v = b.getBrokerVersion();

The 4-character version number of the broker (see BrokerVersion).
ExecutionGroupLabel (Character) Use

ExecutionGroupProxy eg = ExecutionGroupProxy.getLocalInstance();
  eg.getName();

The label of the integration server (a human-readable name).
ExecutionGroupName (Character) Use

ExecutionGroupProxy eg = ExecutionGroupProxy.getLocalInstance();
  eg.getUUID();

The name of the integration server (typically a UUID identifier).
Family (Character) Use

System.getProperty("os.name")

to return the operating system name from Java.
The generic name of the software platform that the broker is running on ('WINDOWS', 'UNIX', or 'ZOS').
ProcessId (Integer) Use

ExecutionGroupProxy eg = ExecutionGroupProxy.getLocalInstance();
  String processId =
   eg.getRuntimeProperty(AttributeConstants.EG_THIS_PROCESSID_PROPERTY);

The process identifier (PID) of the integration server.
QueueManagerName (Character) Use

MbNode.getBroker().getQueueManagerName()

The name of the WebSphere MQ queue manager to which the broker is connected.
WorkPath (Character) To return any non-default workpath in Java, use:

String wp = LocalBrokerUtilities.getLocalBrokerWorkpath(brokerName);

(Optional) The directory in which working files for this broker are stored.

Table 3. Flow properties
ESQL Property name Java access method Description
AdditionalInstances (Integer) Use

ExecutionGroupProxy eg = ExecutionGroupProxy.getLocalInstance();
  MessageFlowProxy mf = eg.getMessageFlowByName("mf1");
  int i = mf.getAdditionalInstances();

The number of additional threads that the broker can use to service the message flow.
CommitCount (Integer) Use

ExecutionGroupProxy eg = ExecutionGroupProxy.getLocalInstance();
  MessageFlowProxy mf = eg.getMessageFlowByName("mf1");
  int i = mf.getCommitCount();

The number of input messages that are processed by the message flow before a syncpoint is taken.
CommitInterval (Integer) Use

ExecutionGroupProxy eg = ExecutionGroupProxy.getLocalInstance();
  MessageFlowProxy mf = eg.getMessageFlowByName("mf1");
  int i = mf.getCommitInterval();

The time interval at which a commit is taken when the CommitCount property is greater than 1 (that is, where the message flow is batching messages), but the number of messages processed has not reached the value of the CommitCount property.
CoordinatedTransaction (Boolean) Not possible Whether the message flow is processed as an XA coordinated transaction, coordinated by WebSphere MQ.
MessageFlowLabel (Character) Not possible The name of the flow.
ApplicationLabel (Character) Not possible The name of the application, or an empty string if the message flow is not running in an application.
MaximumRateMsgsPerSec (Integer) Use

ExecutionGroupProxy eg = ExecutionGroupProxy.getLocalInstance();
  MessageFlowProxy mf = eg.getMessageFlowByName("mf1");
  int i = mf.getMaximumRateMsgsPerSec();

A positive value configures a message flow to monitor and maintain the total number of messages processed every second below the maximum rate value set. Default value of 0 will turn this option off.
NotificationThresholdMsgsPerSec (Integer) Use

ExecutionGroupProxy eg = ExecutionGroupProxy.getLocalInstance();
  MessageFlowProxy mf = eg.getMessageFlowByName("mf1");
  int i = mf.getNotificationThresholdMsgsPerSec();

A positive value configures a message flow to cause a notification message to be published when the rate for messages arriving in the flow exceeds the notification threshold value set. Default value of 0 will turn this option off.
WlmPolicy (Character) Use

ExecutionGroupProxy eg = ExecutionGroupProxy.getLocalInstance();
  MessageFlowProxy mf = eg.getMessageFlowByName("mf1");
  int i = mf.getWlmPolicy();

Identifies the WorkloadManagement policy configurable service name used by the message flow.

Table 4. Node properties
ESQL Property name Java access method Description
DataSource (Character) Not possible The ODBC Data Source Name (DSN) of the database in which the user tables are created.
DataSourceUserId (Character) Not possible The user ID that the broker uses to access the database user tables.
MessageOptions (Integer 64-bit)1 Not possible The bit stream and validation options in force.
NodeLabel (Character) Not applicable The name of the node.
NodeType (Character) Not applicable The type of node (Compute, Database, or Filter).
ThrowExceptionOnDatabaseError (Boolean)1 Not possible Whether the broker generates an exception when a database error is detected.
Transaction(Character)1 Not possible The type of transaction (Automatic or Commit) used to access a database from this node.
TreatWarningsAsErrors (Boolean)1 Not possible Whether database warning messages are treated as errors, and cause the output message to be propagated to the failure terminal.
Notes:
  1. Not applicable for the DatabaseInput node.

BrokerVersion

The BrokerVersion property contains a 4-character code that indicates the version of the broker. The code is based on the IBM Version/Release/Modification/Fix pack (VRMF) product-numbering system. The VRMF code works like this:
V
The Version number. A Version is a separate IBM licensed program that usually has significant new code or new function. Each version has its own license, terms, and conditions.
R
The Release number. A Release is a distribution of new function and authorized program analysis report (APAR) fixes for an existing product.
M
The Modification number. A Modification is new function added to an existing product, and is delivered separately from an announced Version or Release.
F
The Fix pack number. Fix packs contain defect and APAR fixes. They do not contain new function.

A fix pack is cumulative: that is, it contains all the fixes shipped in previous maintenance to the release, including previous fix packs. It can be applied on top of any previously-shipped maintenance to bring the system up to the current fix pack level.


ak04897_.htm | Last updated Friday, 21 July 2017