Reference nJAMS Client for BW configuration schema

The domain object related configuration of nJAMS Client for BW is stored in an XML configuration file. This configuration contains various settings about how to monitor processes, enable/disable tracing, definitons of Extracts, etc.

nJAMS Client for BW sample configuration file

The following sample

  • sets logmode to complete, see <logging/>
  • sets loglevel of “Starter_OrderProcessingService.process” to INFO, see <logging/>
  • excludes “Audit.process” from being monitored, see <logging/>
  • enables tracing on activity “Publish to OrderBus”, see <tracing/>
  • adds a new attribute “priceLimitHit” by using an Extract, see <extracts/>
  • registers nJAMS Replay plugin, see <plugins/>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<config xmlns="http://www.faizsiegeln.com/schema/njams/configuration/2013-09-14" xmlns:ns2="http://www.faizsiegeln.com/schema/njams/configuration/2013-09-14/" lastdeploymenttime="1527159989000">
    <logging logmode="COMPLETE">
        <loglevel process="OrderServices/OrderEntry/Starter_OrderProcessingService.process" loglevel="0"/>
        <exclude process="OrderServices/OrderEntry/Audit.process"/>
    </logging>
    <tracing>
        <tracepoint process="OrderServices/OrderEntry/Starter_OrderProcessingService.process" activity="Publish to OrderBus" starttime="1551360470304" endtime="1551361370304" iterations="0"/>
    </tracing>
    <extracts>
        <extract process="OrderServices/OrderEntry/Starter_OrderProcessingService.process" activity="JMS Queue Receiver" name="ExtractruleType">
            <extractionrules>
                <extractrule attribute="priceLimitHit" attributeType="attribute" ruleType="xpath" rule="if (/jms1:ActivityOutput[1]/Body[1]/ns0:order[1]/ns0:body[1]/ns0:order_amount[1] &lt; 200000) then 'true' else 'false'" inout="out"/>
            </extractionrules>
        </extract>
    </extracts>
    <plugins>
        <ns2:pluginconfiguration pluginid="replay"/>
    </plugins>
</config>

The nJAMS Client for BW configuration file is located in <TIBCO_HOME>/tra/domain/<DOMAIN>/application/<APPLICATION>/resource by default. This property can be used to specify a different location: tibco.clientVar.nJAMS/confiruationFile. The configuration file is automatically created by nJAMS Client for BW.

Logmode:

The Logmode can be configured in two places:

  • TRA file of bw engine by using property tibco.clientVar.nJAMS/logMode=[logmode], respectively by using global variable in BW project
  • nJAMS Client for BW XML configuration file by using XML element <logging logmode="[logmode]"> as described in this chapter

The setting of Logmode in nJAMS Client for BW configuration file overrules the setting of the property in TRA file as follows:

  • If there are two different configurations, then always the setting of nJAMS Client for BW XML configuration file is used.
  • If Logmode is undefined in nJAMS Client for BW XML configuration file, the configuration of Logmode in TRA file is used.
  • If Logmode is undefined in both configurations, the default setting is used, which is COMPLETE.

nJAMS Client for BW configuration XSD

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns="http://www.faizsiegeln.com/schema/njams/extracts/2012-10-22/"
    targetNamespace="http://www.faizsiegeln.com/schema/njams/extracts/2012-10-22/"
    elementFormDefault="qualified" attributeFormDefault="unqualified">
    <xsd:simpleType name="attributeType">
        <xsd:restriction base="xsd:string">
            <xsd:enumeration value="event" />
            <xsd:enumeration value="attribute" />
            <xsd:enumeration value="unknown" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="ruleType">
        <xsd:restriction base="xsd:string">
            <xsd:enumeration value="event" />
            <xsd:enumeration value="regexp" />
            <xsd:enumeration value="value" />
            <xsd:enumeration value="xpath" />
            <xsd:enumeration value="disabled" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:simpleType name="excludeType">
        <xsd:restriction base="xsd:string">
            <xsd:enumeration value="regexp" />
            <xsd:enumeration value="string" />
        </xsd:restriction>
    </xsd:simpleType>
    <xsd:complexType name="extractruleType">
        <xsd:attribute name="attribute" type="xsd:string" />
        <xsd:attribute name="attributeType" type="attributeType"
            default="unknown" />
        <xsd:attribute name="ruleType" type="ruleType" />
        <xsd:attribute name="rule" type="xsd:string" />
        <xsd:attribute name="inout" type="xsd:string" default="out" />
    </xsd:complexType>
    <xsd:element name="extract">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element name="extractionrules">
                    <xsd:complexType>
                        <xsd:sequence>
                            <xsd:element name="extractrule" type="extractruleType"
                                minOccurs="1" maxOccurs="unbounded" />
                        </xsd:sequence>
                    </xsd:complexType>
                </xsd:element>
            </xsd:sequence>
            <xsd:attribute name="process" type="xsd:string" />
            <xsd:attribute name="activity" type="xsd:string" />
            <xsd:attribute name="name" type="xsd:string" />
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="extracts">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="extract" minOccurs="1" maxOccurs="unbounded" />
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="tracepoint">
        <xsd:complexType>
            <xsd:attribute name="process" type="xsd:string" />
            <xsd:attribute name="activity" type="xsd:string" />
            <xsd:attribute name="starttime" type="xsd:long" />
            <xsd:attribute name="endtime" type="xsd:long" />
            <xsd:attribute name="iterations" type="xsd:int" />
            <xsd:attribute name="deeptrace" type="xsd:boolean"
                default="false" />
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="tracing">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="tracepoint" minOccurs="1" maxOccurs="unbounded" />
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="loglevel">
        <xsd:complexType>
            <xsd:attribute name="process" type="xsd:string" />
            <xsd:attribute name="loglevel" type="xsd:string" />
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="exclude">
        <xsd:complexType>
            <xsd:attribute name="type" type="excludeType" default="string" />
            <xsd:attribute name="process" type="xsd:string" />
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="include">
        <xsd:complexType>
            <xsd:attribute name="type" type="excludeType" default="string" />
            <xsd:attribute name="process" type="xsd:string" />
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="logging">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="loglevel" minOccurs="0" maxOccurs="unbounded" />
                <xsd:element ref="exclude" minOccurs="0" maxOccurs="unbounded" />
                <xsd:element ref="include" minOccurs="0" maxOccurs="unbounded" />
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="plugins">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="pluginconfiguration" minOccurs="0"
                    maxOccurs="unbounded" />
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="pluginconfiguration">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element name="setting" minOccurs="0" maxOccurs="unbounded">
                    <xsd:complexType>
                        <xsd:attribute name="name" type="xsd:string" />
                        <xsd:attribute name="value" type="xsd:string" />
                    </xsd:complexType>
                </xsd:element>
            </xsd:sequence>
            <xsd:attribute name="pluginid" type="xsd:string" />
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="config">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element ref="logging" minOccurs="0" maxOccurs="1" />
                <xsd:element ref="tracing" minOccurs="0" maxOccurs="1" />
                <xsd:element ref="extracts" minOccurs="0" maxOccurs="1" />
                <xsd:element ref="plugins" minOccurs="0" maxOccurs="1" />
            </xsd:sequence>
            <xsd:attribute name="lastdeploymenttime" type="xsd:long"
                default="0" />
        </xsd:complexType>
    </xsd:element>
</xsd:schema>