Copyright © Cloud Software Group, Inc. All Rights Reserved
Copyright © Cloud Software Group, Inc. All Rights Reserved


Chapter 8 Custom Engine Properties : Available Custom Engine Properties

Available Custom Engine Properties
The following sections describe the custom properties that you can set. Most properties are boolean and can be set to a value of true or false to enable or disable them. When a property has a non-boolean value, its syntax is explained in the property description.
Engine Properties
This section describes properties that control the behavior of the process engine.
bw.engine.autoCheckpointRestart
This property controls whether checkpointed process instances are automatically restarted when a process engine restarts. By default, this property is set to true, indicating that checkpointed process instances should automatically be restarted. You can set this property to false, and any checkpointed process instances can later be recovered using the Job Recovery dialog in TIBCO Administrator. This allows you to handle any resource availability problems such as database recovery or bringing up a web server before handling the process instance recovery.
See Managing Recoverable Process Instances for more information about process instance recovery.
bw.engine.dupKey.enabled
This property controls whether duplicate detection is performed. true (the default) indicates the process engine will check for identical duplicateKey values. false indicates duplicateKeys when specified are ignored.
See TIBCO ActiveMatrix BusinessWorks Process Design Guide for more information about duplicate detection.
bw.engine.dupKey.timeout.minutes
This property specifies how long (in minutes) to keep stored duplicateKeys. The default is 30 minutes. 0 indicates the duplicateKey is removed when the job is removed. However, if bw.engine.enableJobRecovery=true, the job is not automatically removed after a failure so the duplicateKey will remain as long as the job remains. Such a job can be restarted or purged later. -1 indicates to store duplicateKey values indefinitely. Any positive integer greater than 0 indicates the number of minutes to keep stored duplicateKeys.
See TIBCO ActiveMatrix BusinessWorks Process Design Guide for more information about duplicate detection.
bw.engine.dupKey.pollPeriod.minutes
Specifies the number of minutes to wait before polling for expired duplicateKey values. See TIBCO ActiveMatrix BusinessWorks Process Design Guide for more information about duplicate detection.
bw.engine.enableJobRecovery
This property specifies whether checkpoint data for process instances that fail due to unhandled exceptions or manual termination should be saved. Saving the checkpoint data allows the process instance to be recovered at a later time. By default, this property is set to false indicating that checkpoint data for failed process instances is not saved. Setting this property to true saves checkpoint data for failed process instances and these process instances can be recovered at a later time using the Job Recovery dialog in TIBCO Administrator.
See Managing Recoverable Process Instances for more information about process instance recovery.
bw.engine.stats.dir
This property specifies the location of the process instance and activity statistic files when statistics storing is enabled. The default location of this property is <engineWorkingDir>/stats.
See Storing Process Instance and Activity Statistics for more information about statistic collection.
bw.engine.jobstats.enable
This property controls process instance statistic collection. The default value of this property is false indicating that statistics for each process instance should not be stored. Setting this property to true enables the gathering of statistics for each process instance.
See Storing Process Instance and Activity Statistics for more information about statistic collection.
bw.engine.jobstats.rollover
This property specifies the maximum size (in bytes) for process instance statistic files. Once a file reaches the specified size, a statistics are written to a new file. The default value of this property is 1024 (1 MB).
See Storing Process Instance and Activity Statistics for more information about statistic collection.
EnableMemorySavingMode or EnableMemorySavingMode.<processName>
Memory saving mode can reduce the memory used by actively running process instances as well as potentially improve the performance of checkpoints. By default, memory saving mode is disabled, but you can enable garbage collection on specific process instances by setting the EnableMemorySavingMode.<processName> property to true. You can enable memory saving mode for all process instances by setting the EnableMemorySavingMode property to true.
See TIBCO ActiveMatrix BusinessWorks Process Design Guide for more information.
Engine.dir
When the process engine is configured to use local file for storage (see Configuring Storage for TIBCO ActiveMatrix BusinessWorks Processes), this property controls the location of the process engine storage. By default, this is set to <TIBCO_Home>/tra/domain/<domainName>/application/<appName>. Normally, you should not need to change the default location of engine storage.
Engine.ShutdownOnStartupError
By default, checkpointed process instances are restarted when the engine restarts, and if the engine encounters errors during startup, the restarted process instances continue to be processed and may eventually be lost depending upon the type of error at startup. You can specify that the process engine should shutdown if any errors are encountered during startup so that checkpointed jobs are not lost in the event of an error. The custom engine property named Engine.ShutdownOnStartupError controls this behavior. By default, the value of the property is false, but setting it to true shuts the engine down if errors are encountered when the engine starts.
See the description of the Checkpoint activity in TIBCO ActiveMatrix BusinessWorks Palette Reference for more information.
Engine.StandAlone
Under some situations, a unique constraint violation is thrown when using a database as the data manager for process engines. Set this property to false if you encounter this situation.
Engine.StepCount
This property controls the max number of execution steps (unless inside a transaction) for a job before an engine thread switch occurs. The default value of this parameter is 20.
Frequent thread switching can cause engine performance degradation, but when a process instance keeps the tread too long, this may cause less concurrency for executing process instances (and therefore inefficient use of CPU). Therefore, it is difficult to determine the correct value for this property. The default value is sufficient for most situations, but if your process definitions contain a large number of activities and especially if they contain a large number of activities in iteration loops, you may benefit from setting this property to a higher value.
Engine.ThreadCount
This property controls the number of threads available for executing process instances concurrently. The default value is 8.
On a multi-CPU machine, the ThreadCount value can be increased.However, too many threads can cause resource contention. Hence you need to experiment with it to decide on a higher ThreadCount value.
TIBCO Hawk Properties
TIBCO Administrator is the preferred monitoring and management tool for TIBCO ActiveMatrix BusinessWorks. However, process engines have a TIBCO Hawk microagent as well. The properties in this section should be set only on deployed engines. These properties are not intended to be used with process engines started by TIBCO Designer for testing process definitions.
See Chapter 9, Performance Tuning for more information about using TIBCO Hawk to monitor and manage TIBCO ActiveMatrix BusinessWorks.
Hawk.Enabled
Controls whether or not TIBCO Hawk can be used to monitor and manage the process engine. Also, allows the Engine Command activity to be used. The following table describes the valid values for this property:
Hawk.Service
Specifies the service parameter for the TIBCO Rendezvous transport of your TIBCO Hawk configuration. By default this is set to 7474. See the TIBCO Rendezvous documentation for more information about the syntax of the service parameter of TIBCO Rendezvous transports.
Hawk.Network
Specifies the network parameter for the TIBCO Rendezvous transport of your TIBCO Hawk configuration. By default this is set to "". See the TIBCO Rendezvous documentation for more information about the syntax of the network parameter of TIBCO Rendezvous transports.
Hawk.Daemon
Specifies the daemon parameter for the TIBCO Rendezvous transport of your TIBCO Hawk configuration. By default this is set to tcp:host:7474. See the TIBCO Rendezvous documentation for more information about the syntax of the daemon parameter of TIBCO Rendezvous transports.
Instrumentation.<processName>
Some of the TIBCO Hawk instrumentation methods require runtime actions that impose performance and memory overhead. These actions can be enabled or disabled on a per-process definition basis at any time by setting this property. The actions that can be enabled or disabled are:
Setting the engine property Instrumentation.* to true enables those actions for all process definitions. Setting the property Instrumentation.<processName> to true enables those actions for a specified process definition. Setting this property to false disables the actions.
The instrumentation properties can be set at runtime by calling the TIBCO Hawk setInstrumentProperties method. The property value specified in a call to setInsrumentProperties takes effect immediately.
TIBCO Enterprise Management Advisor Property
TIBCO ActiveMatrix BusinessWorks can work with TIBCO Enterprise Management Advisor (EMA) to suspend business processes when external resources become unavailable.
bw.engine.emaEnabled
Setting this property to true enables communication with TIBCO EMA. A resource dependency list for all process definitions executing in this engine is created and processes are suspended when TIBCO EMA communicates the unavailability of any dependent resources. See, Using TIBCO Enterprise Management Advisor for more information about TIBCO EMA.
Trace Properties
Trace properties control which trace messages are sent and where they are sent to. Tracing is controlled either by roles, by activities, or by process definitions. For roles, you can configure system role tracing (Error, Warn, Info, Debug), or you can configure tracing for user-defined roles. The Write to Log activity allows you to specify a user-defined role for the message to write.
Specifying Location of Trace Messages
The following properties control where trace messages are sent. Messages can be sent to the log file, to the console, or published as TIBCO Rendezvous messages.
Trace.Role.<userRoleName>.Term or Trace.<systemRoleName>.Term
Trace.Role.<userRoleName>.Term controls whether or not messages for the specified user-defined role are sent to the console; use Trace.Role.*.Term to control console output for all user-defined roles.
Trace.<systemRoleName>.Term controls whether or not messages for the specified system role (Error, Warn, Info, or Debug) are sent to the console.
Trace.Role.<userRoleName>.Log or Trace.<systemRoleName>.Log
Trace.Role.<userRoleName>.Log controls whether or not messages for the specified user-defined role are sent to the log file; use Trace.Role.*.Log to control log output for all user-defined roles.
Trace.<systemRoleName>.Log controls whether or not messages for the specified system role (Error, Warn, Info, or Debug) are sent to the log file.
Trace.Role.<systemRoleName>.Publish
Trace.Role.<systemRoleName>.Publish controls whether or not messages for the specified system role (Error, Warn, Info, or Debug) are published as a TIBCO Rendezvous message. By default, the messages are sent on TIBCO ActiveMatrix BusinessWorks default transport. You can specify a different transport for published trace messages with the following properties:
Trace.<systemRoleName>.Publish.Subject
Trace.<systemRoleName>.Publish.Service
Trace.<systemRoleName>.Publish.Network
Trace.<systemRoleName>.Publish.Daemon
See the TIBCO Rendezvous documentation for the correct syntax for specifying transport parameters.
Specifying Rolling Log Files for UserRole
You can specify that entries for the role named UserRole are sent to a set of rolling log files. To accomplish this, you specify the location of the log files, log file name, the number of log files, and the maximum size of each log file. Entries will be written to the first log file until it reaches its maximum size, and then entries are then directed to the second log file until it reaches its maximum size, and so on. Once the maximum number of log files is reached, entries are then directed back to the first log file again. The following engine properties allow you to configure rolling log files:
Trace.Role.UserRole.Log.Dir — Location for the set of rolling log files.
Trace.Role.UserRole.Log.File — Filename for the log files. A number is appended to each new log file created up to the specified maximum number of log files.
Trace.Role.UserRole.Log.MaxSize — Maximum size of a log file before entries are directed to the next log file in the sequence.
Trace.Role.UserRole.Log.Maximum — Maximum number of log files to create. Entries are directed back to the first log file when the maximum number of log files have been created.
Tracing by Role
The following properties enable or disable all tracing for user-defined and system roles.
Trace.Role.<userRoleName> or Trace.<systemRoleName>.*
Enables or disables the specified role. Trace.Role.<userRoleName> enables or disables the specified user-defined role; specify Trace.Role.* to enable or disable all user-defined roles. Trace.<systemRoleName>.* enables or disables the specified system role (Error, Warn, Info, or Debug).
Tracing by Resource
The following properties enable or disable tracing for activities and process starters.
Trace.Task.*
Controls whether or not trace messages for all activities are output.
Trace.Task.<processDefinition>.<activityName>
Controls whether or not trace messages for a given activity in a process definition are output. Specifying a wildcard for the process definition name indicates you would like to control trace messages for all activities with a given name. Specifying a wildcard for the activity name indicates you would like to control trace messages for all activities in the specified process definition.
Trace.JC.<processStarterName>
Controls whether or not trace messages for a given process starter are output. Specify Trace.JC.* to control trace messages for all process starters.
Including Activity Input/Output in Trace Messages
When resource tracing is enabled, you can optionally include the resource input or output XML in the trace messages. The following properties determine whether input or output are included.
bw.engine.showInput
When set to true, resources that have input will include the input XML in the trace messages for that resource.
bw.engine.showOutput
When set to true, resources that have output will include the output XML in the trace messages for that resource.
TIBCO Rendezvous Advisory Messages
TIBCO Rendezvous advisory messages can be written to the TIBCO ActiveMatrix BusinessWorks log file. There are three types of advisory messages: Error, Warn, and Info. Error advisories are logged by default. The following properties control whether TIBCO Rendezvous advisory messages are sent to the log file:
Prefix the above properties by "java.property." to enable the associated advisory messages.
XPath and XML Properties
The following properties control behavior of XPath and XML in TIBCO ActiveMatrix BusinessWorks. Prefix these property names by "java.property." while setting the properties in the configuration files.
com.tibco.xml.xpath.create-dateTime.has.timezone
This property determines whether a time zone is added by the XPath function create-dateTime. TIBCO strongly advises against modifying this property unless you are told to do so by TIBCO Support.
com.tibco.xml.xpath.variable-declaration-required
This property controls whether variable references are checked. The default value of this property is false, indicating that variable references are not checked.
com.tibco.xml.schema.preserve-boolean-lexical-value
This property specifies whether the lexical value of xs:boolean is preserved. By default, this property is false. TIBCO strongly advises against modifying this property unless you are told to do so by TIBCO Support.
Security Properties
The following properties control the behavior of Secure Sockets Layer (SSL) and other security settings. Some protocols such can use SSL to ensure secure communication. Properties in this section apply to resources that use SSL.
bw.plugin.security.strongcipher.minstrength
The bw.security.strongcipher.minstrength property specifies the cipher suites you wish to exclude when the Strong Cipher Suites Only checkbox is checked in an SSL configuration. This property allows you to choose the types of cipher suites you wish to disable. Equivalent key strength is taken into account, for example ciphers like 3DES using 168 bits would be equivalent to an equivalent key length of 112 bits. The default value of this property is DISABLED_CIPHERS_BELOW_128_BIT. This property is also only applicable for resources that have the Strong Cipher Suites only field checked.
The following are the valid values for this property:
By default, the jurisdiction policy files shipped with TIBCO ActiveMatrix BusinessWorks are not unlimited strength. When you disable lower strength cipher suites, you may receive an error suggesting that you should upgrade your policy files. To download and install unlimited strength policy files, perform these steps:
1.
For all platforms except IBM: http://java.sun.com/javase/downloads/index.jsp
For IBM platforms: https://www14.software.ibm.com/webapp/iwm/web/reg/pick.do?source=jcesdk&lang=en_US
2.
Unzip jce_policy-1_7_0.zip.
3.
Copy US_export_policy.jar and local_policy.jar to: TIBCO_home\jre\1.7.0\lib\security.
General Activities Properties
The following properties control behavior of activities in the General Activities palette.
Engine.WaitNotify.SweepInterval
Notify timeouts cause the notify information to be marked for removal, but the information is removed at regular intervals. The default interval for checking Notify timeouts is 60 seconds. If you wish to alter the interval, you can do so by setting the Engine.WaitNotify.SweepInterval property to the desired number of seconds. However, as you decrease the number of seconds in the interval you will incur greater engine overhead.
log.file.encoding
The value of this property specifies the character encoding to use when writing to the log file. Any valid Java character encoding name can be used. For a list of potential character encoding names, see the Encoding field on the Configuration tab of the Parse Data activity. If this property is not specified, the default encoding of the Java Virtual Machine used by the process engine is used.
WaitNotify.Service
When Wait and Notify activities are used across multiple engines, TIBCO Rendezvous is used for communication between the engines. This property specifies the service parameter for the TIBCO Rendezvous transport. See the TIBCO Rendezvous documentation for more information about the syntax and default value of the service parameter of TIBCO Rendezvous transports.
WaitNotify.Network
When Wait and Notify activities are used across multiple engines, TIBCO Rendezvous is used for communication between the engines. This property specifies the network parameter for the TIBCO Rendezvous transport. See the TIBCO Rendezvous documentation for more information about the syntax and default value of the daemon parameter of TIBCO Rendezvous transports.
WaitNotify.Daemon
When Wait and Notify activities are used across multiple engines, TIBCO Rendezvous is used for communication between the engines. This property specifies the daemon parameter for the TIBCO Rendezvous transport. See the TIBCO Rendezvous documentation for more information about the syntax and default value of the daemon parameter of TIBCO Rendezvous transports.
HTTP Properties
In some situations, you may wish to alter the configuration of the HTTP server that receives incoming HTTP requests for TIBCO ActiveMatrix BusinessWorks. This section lists the properties for configuring the HTTP server.
 
bw.plugin.http.server.restrictHttpMethods
Using this property, specific HTTP methods can be disabled. By default, none of the HTTP methods are restricted by the server. You can specify a comma-separated list of methods that are to be restricted. These restrictions are then applicable to all resources accessed on this server, for all roles.
You cannot disable methods selectively for a particular service or for a particular server.
bw.plugin.http.protocol.single-cookie-header
This property allows you to send multiple cookies in a single, non-repeating Cookie header element for outgoing HTTP requests in the Send HTTP Request activity.
bw.plugin.http.server.allowIPAddresses
This property allows you to specify a pipe-separated list of regular expression patterns that is compared with the remote client’s IP address before accepting or rejecting requests from the client. The remote IP address of the client must match the expression patterns for the request to be accepted.
For example : To allow requests from any IP address matching with pattern 127\.\d+\.\d+\.\d+ or 10\.\d+\.\d+\.\d+
specify the property as bw.plugin.http.server.allowIPAddresses=127\\.\\d+\\.\\d+\\.\\d+|10\\.\\d+\\.\\d+\\.d+
bw.plugin.http.server.restrictIPAddresses
This property allows you to specify a comma-separated list of regular expression patterns that is compared with the remote client’s IP address before accepting or rejecting requests from the client. The remote address of the client must not match for any request from this client to be accepted.
bw.plugin.http.server.acceptCount
This property specifies the maximum queue size for incoming requests. Incoming requests that are not handled by available threads (see bw.plugin.http.server.minProcessors and bw.plugin.http.server.maxProcessors) are placed on the queue until they can be processed. If the queue is full, new incoming requests are refused with an error. The default value of this property is 100. This property is available only when the server type ’Tomcat’ is selected.
bw.plugin.http.server.serverType
This property specifies the server type that is to be used for the HTTP Connection resource. Two server types are available: Tomcat and HTTP Component. The default value of this property is Tomcat.
bw.plugin.http.server.httpcomponents.workerThread
This property specifies the maximum number of web server threads available to handle HTTP requests for the HTTPComponents server type. The default value of this property is 50.
bw.plugin.http.server.minProcessors
This property specifies the minimum number of threads available for incoming HTTP requests. The HTTP server creates the number of threads specified by this parameter when it starts up. The default minimum number of threads is 10.
If the Flow Limit deployment property is set, the value of this property is set to <valueOfMaxProcessorsProperty>/2.
bw.plugin.http.server.maxProcessors
This property specifies the maximum number of threads available for incoming HTTP requests. The HTTP server will not create more than the number of threads specified by this parameter. The default maximum number of threads is 75.
If the Flow Limit deployment property is set, the value of this property is set to <valueOfFlowLimit> - 1.
bw.plugin.http.server.maxSpareProcessors
This property specifies the maximum number of unused request processing threads that can exist until the thread pool starts stopping the unnecessary threads. The default maximum number of spare threads is 50.
bw.plugin.http.client.ParseEntireMultipartMessage
This property enables the HTTP client to parse the entire multi-part message.
bw.plugin.http.client.ResponseThreadPool
By default, each Request/Response activity that uses the HTTP protocol (for example, Send HTTP Request or SOAP Request Reply) is associated with a unique thread pool. Each request is executed in a separate thread, belonging to the thread pool associated with the activity. The size of each thread pool is 10 by default, therefore, only 10 requests can execute concurrently.
Setting this property to a value specifies the size of the thread pool to use for request/response activities. This thread pool can be for each activity, or all activities can share the same thread pool. See bw.plugin.http.client.ResponseThreadPool.type on page 134 for more information about determining the type of thread pool to use.
The thread pool is created when the engine starts, therefore be careful to set the value of this property to a reasonable number for your system. If you set the value too high, it may result in extra resources allocated that are never used.
bw.plugin.http.client.ResponseThreadPool.type
This property determines the type of thread pool to use for request/response activities. Either one thread pool per activity is created, or one common thread pool is created to be shared across all activities. Specify default as the value of this property if you wish to create a thread pool for each activity. Specify single as the value of this property if you wish to create a single, common thread pool for all activities.
The size of the thread pool is determined by the value of the property bw.plugin.http.client.ResponseThreadPool. When the thread pool type is default, a thread pool of the specified size is created for each request/response activity. When the thread pool type is single, one thread pool of the specified size is created and all activities share the same thread pool.
bw.plugin.http.client.usePersistentConnectionManager
This property specifies that a pool of HTTP connections to each HTTP server should be created so that connections can be reused by Send HTTP Request activities. Not all HTTP servers support persistent connections. Refer to your HTTP server documentation for more information about support for persistent connections.
When this property is set to true, a pool of connections is created for each HTTP server that Send HTTP Request activities connect to. The total number of connections in the pool is limited by the bw.plugin.http.client.maxTotalConnections property. The number of connections for each host is limited by the bw.plugin.http.client.maxConnectionsPerHost property.
The default value of this property is false.
See the description of the Send HTTP Request activity in TIBCO ActiveMatrix BusinessWorks Palette Reference for more information.
bw.plugin.http.client.maxConnectionsPerHost
The value of this property is ignored unless the bw.plugin.http.client.usePersistentConnectionManager property is set to true. This property specifies the maximum number of persistent connections to each remote HTTP server.
The default value for this property is 20.
See the description of the Send HTTP Request activity in TIBCO ActiveMatrix BusinessWorks Palette Reference for more information.
bw.plugin.http.client.maxTotalConnections
The value of this property is ignored unless the bw.plugin.http.client.usePersistentConnectionManager property is set to true. This property specifies the maximum number of persistent connections to create for all HTTP servers.
The default value for this property is 200.
See the description of the Send HTTP Request activity in TIBCO ActiveMatrix BusinessWorks Palette Reference for more information.
bw.plugin.http.client.checkForStaleConnections
The value of this property is ignored unless the bw.plugin.http.client.usePersistentConnectionManager property is set to true. When using persistent connections, a connection can become stale. When this property is set to true, a persistent connection is checked to determine if it is stale before it is used by a Send HTTP Request activity. Checking for stale connections adds significant processing overhead, but it does improve reliability.
The default value for this property is false.
See the description of the Send HTTP Request activity in TIBCO ActiveMatrix BusinessWorks Palette Reference for more information.
bw.plugin.http.handleAllMimePartsAsAttachment
In previous releases, when the content-type of an incoming message was "multipart/*", the first part of the message was presented as the POSTDATA. This is incorrect according to MIME specification. The bw.plugin.http.handleAllMimePartsAsAttachment property fixes this problem.
If this property is set to true and the top-level content-type of the incoming HTTP message is "multipart/*", then an HTTP Receiver will present all the MIME parts as attachments and the POSTDATA field will be empty. If this property is set to false (the default value), backward compatibility is maintained and the first MIME part is presented as the POSTDATA.
bw.plugin.http.server.debug
When set to true, specifies that the contents of incoming HTTP requests are written to the log file. Writing each request to a log file does incur some overhead and additional processing time.
bw.plugin.http.server.defaultHost
Specifies the name of the default host to use when the machine has multiple domains or IP addresses. The value of this parameter can be either a host name or IP address.
When the hostname is localhost, TIBCO BusinessWorks considers the machine as a non multi home environment. Hence it is not required to set the bw.plugin.http.server.defaultHost property in bwengine.tra file.
However, when the hostname is anything other than the localhost, then TIBCO BusinessWorks considers the machine as a multi home environment. Set the bw.plugin.http.server.defaultHost property in bwengine.tra file to the same value as has been set in the host field of HTTP Shared Connection for default host.
JDBC Properties
This section describes custom engine properties that can be set for resources in the JDBC palette.
Engine.Database.TestStatement.<name>
When a SQL error occurs during statement execution, TIBCO ActiveMatrix BusinessWorks executes a test SQL statement to determine if the error is caused by a bad connection. If the error is due to a bad connection, the statement can be re-executed using a different connection in the connection pool.
This property allows you to specify a test SQL statement. Specify the database name in the <name> portion of the property and set the value of the property to a valid SQL statement.
Engine.DBConnection.idleTimeout
Normally, connections in the database connection pool close after a period of time when they are idle. This property specifies the time (in minutes) to allow database connections to remain idle before closing them. The default timeout for database connections is 5 minutes, but you can set this property to the amount of time you would like to keep database connections open.
Config.JDBC.Connection.SetLoginTimeout
Time (in seconds) to wait for a successful database connection. Only JDBC drivers that support connection timeouts can use this property. If the JDBC driver does not support connection timeouts, the value of this field is ignored. Most JDBC drivers should support connection timeouts. The value of this property overrides any value set for connection timeouts in the Configuration tab of the JDBC Connection resource.
JMS Properties
This section describes custom engine properties that can be set for resources in the JMS palette.
bw.plugin.jms.receiverTimeout
This property specifies the polling interval for JMS activities that receive messages (for example, JMS Topic Subscriber or Wait for JMS Queue Message). Specify an integer as the value of the property to determine the number of seconds to set the default polling interval for all JMS activities that receive messages. Individual activities can override this default polling interval by specifying a value in the Receiver Timeout field on the Advanced tab of the activity. See TIBCO ActiveMatrix BusinessWorks Palette Reference for more information about the activities that have the Receiver Timeout field.
bw.plugin.jms.recoverOnStartupError
When a process engine attempts to startup and the JMS server that JMS activities connect to is not up, the JMS process starters cannot connect to the JMS server. Setting this property to true allows the process engine to start and the JMS process starters will wait until the JMS sever is up before starting.
Mail Properties
This section describes custom engine properties that can be set for the resources in the Mail palette.
bw.plugin.mail.receiverFlattenNesteedAttachments
In previous releases, the Receive Mail activity threw exceptions when receiving email, if the email was in rich text format and the any mime part contained nested mime sub-parts. You can fix this by setting this property to true which creates a flat output structure where all sub-parts are siblings. For example, the following nested structure:
<mimeEnvelopeElement>
   <mimePart>
      <mimePart>
         <textContent />
      </mimePart>
   </mimePart>
</mimeEnvelopeElement>
would be flattened out to the following:
<mimeEnvelopeElement>
   <mimePart>
      <textContent />
   </mimePart>
</mimeEnvelopeElement>
If you rely on the behavior of previous releases, keep this property set to its default value of false.
bw.plugin.mail.receiverHandleDiscreteTypes
In previous releases, the Receive Mail activity did not handle incoming mime messages with mime types application/*, audio/*, video/*, or image/*. While fetching these types of emails, TIBCO ActiveMatrix BusinessWorks threw exceptions. You can fix this by setting this property to true. If you rely on the behavior of previous releases, keep this property set to its default value of false.
bw.plugin.mail.receiverRetryCount
When a mail sender is in the process of sending a message, the mail server may expose the message to the Receive Mail process starter, but indicate later that the message is unavailable. This typically occurs when sending large messages. The Receive Mail process starter attempts to receive the message during subsequent polls of the mail server. By default, the process starter will attempt to receive the message for three minutes. The number of retries within that three-minute limit depends upon the value of the polling interval. For example, if the polling interval is set to 30 seconds, there will be up to six retries. If the polling interval is set to 4 minutes, there will be only one retry.
This property allows you to specify the number of times the Receive Mail process starter will attempt to receive the same message. The amount of time allotted for retries will be the value of this property multiplied by the polling interval. For example, if the polling interval is every 10 seconds, and the retry count is set to 12, then the Receive Mail process starter will attempt to receive the message for two minutes.
Rendezvous Properties
This section applies to activities that can use TIBCO Rendezvous transports. This includes activities in the Rendezvous palette and the ActiveEnterprise Adapter palette.
Config.Tibrv.cmQueueTransport.TaskBacklogLimitInBytes
When the RVCMQ transport is used, TIBCO ActiveMatrix BusinessWorks applies the value of this property to the RVCMQ transport using the RVCMQ API setTaskBacklogLimitInBytes() method to set the scheduler task queue limits in bytes for the distributed queue transport. See the TIBCO Rendezvous documentation for more information about this method. The value of this property must be set to a positive integer.
Transaction Properties
This section describes custom engine properties that can be set for the resources in the Transaction palette.
bw.plugin.transaction.xa.arjuna.objectStoreDir
By default, when executing the Arjuna Transaction Service within the same JVM as TIBCO ActiveMatrix BusinessWorks, the Arjuna property file is used to determine the location of the object store directory. If you wish to override the value in the Arjuna property file, set the custom engine property bw.plugin.transaction.xa.arjuna.objectStoreDir to a valid directory name.
bw.plugin.transaction.xa.isolation
By default in an XA transaction, the transaction isolation level is set to the default value for the JDBC driver you are using. If you wish to ensure a particular transaction isolation level, set the bw.plugin.transaction.xa.isolation custom engine property to one of the following values:
bw.plugin.transaction.xa.lock.connection
By default, JDBC activities in an XA Transaction groups obtain database connections from a connection pool and release the connections when the activity completes. This can cause a database connection to be used concurrently in multiple transactions. Some databases or JDBC drivers support this behavior and others do not. If you are using a database or JDBC driver that requires database connections to be used in only one transaction at a time (for example, IBM DB2), set the bw.plugin.transaction.xa.lock.connection custom engine property to true. When the value of this property is set to true, once a connection is associated with a transaction, the connection remains associated with the transaction until the transaction completes. The default value of this property is false.
TCP Properties
This section describes custom engine properties that can be set for the resources in the TCP palette.
TCPRead.ThreadCount
Through this property the TCPRead Activity can be configured for any number of threads.
bw.plugin.tcp.server.acceptCount
This property specifies the maximum number of incoming requests that can be handled by the TCP Server. The default value for this property is 50.
Properties for Backwards Compatibility
From time to time, functional behavior of TIBCO ActiveMatrix BusinessWorks changes. If you rely on the behavior of previous releases, there are properties that allow you to revert to the behavior of previous releases. This section lists properties that are included for backwards compatibility with projects created in previous versions.
bw.plugin.ftp.stripLineFeedInPut
Prior to release 5.2.0, the FTP Put activity stripped the \n when \r\n was used for a new line in a file. This caused files to be unusable when a file was taken from a MS Windows machine and put onto a VMS machine. The FTP Put activity no longer strips the \n, and if you rely on this behavior in existing projects, you can set the bw.plugin.ftp.stripLineFeedInPut to true to obtain the behavior of previous releases.
bw.plugin.http.client.urlEncodeQueryString
As of release 5.2.0, the QueryString input element of the Send HTTP Request activity is not automatically URL encoded. Prior to release 5.2, the activity used URL encoding for the Query specified in the QueryString element. It is now the user's responsibility to properly URL-encode the query specified in the QueryString. Therefore, the activity does attempt to encode the value supplied in this element. This change may cause backward compatibility issues if you rely on the activity to perform the URL-encoding of the QueryString. This property is set to false by default, but setting it to true reverts to the behavior of previous releases.
bw.plugin.javaCode.explicitNull
To indicate a null reference, the Java Code activity omits the value in its output. This causes a String value used as a null place holder when another activity attempts to read the null in its input. However, other activities did not behave in this way. Other activities pass an explicit null for null references.
To preserve backward compatibility, the Java Code activity still behaves the same. However, you can set the bw.plugin.javaCode.explicitNull to true to cause the Java Code activity to behave in the same way as other activities. When this property is set to true, an explicit null is set for a null reference. This property is set to false by default, maintaining the behavior of the previous releases.
bw.plugin.parseData.enforceLineLength
In previous releases, the line length specified in the Data Format resource was not enforced. This allowed files with one large line to be parsed in some situations. In more recent releases, the line length is enforced so that files containing one large line are no longer allowed. If you rely on the behavior of the previous releases, set the bw.plugin.parseData.enforceLineLength property to false. By default, this property is set to true.
bw.plugin.timer.useJavaMonth
In previous releases, the Timer process starter used the Java convention (0-11) for month numbers in its output, however, the expected convention for month numbers is 1-12. In release 5.2.0, the month is returned as a number between 1 and 12. If you rely on the behavior of previous releases, you can set this property to true to maintain compatibility with previous releases.
com.tibco.plugin.soap.no_xsi_type
SOAP activities were enhanced in release 2.0.5 to emit xsi:type attributes. If you wish to maintain backward compatibility and not emit these attributes, you must set this property to true.
com.tibco.xml.xpath.create-dateTime.has.timezone
In Release 2.x, the XPath function create-dateTime() returned a value that included a time zone. In Release 5.1.2 and 5.1.3, the function was changed to omit the time zone. This property controls whether the time zone is included in the output of the create-dateTime() function. Setting this property to false (the default value) omits the time zone from the function output (the same behavior as 5.1.x). Setting this property to true causes the time zone to be included in the function output (the same behavior as 2.x).
Config.JDBC.CallProcedure.InputOptional
In releases prior to 5.2.0, the JDBC Call Procedure activity created input elements that were optional for stored procedure parameters. Optional parameters have never been supported by this activity (see the Known Issues list under the JDBC Palette heading in TIBCO ActiveMatrix BusinessWorks Release Notes). When migrating a project from a previous release, there will be validation errors for any unspecified input elements for stored procedure parameters. These migrated projects cannot be executed until the errors are resolved (by using the Mapper Check and Repair button on the Input tab).
If you wish to migrate a project without fixing this problem, you can do so by setting this property to true.
Config.JDBC.CallProcedure.OutputUseNil
Prior to release 5.1.2, if a value returned from a database table was null, the output element corresponding to that table value was not placed into the output schema for a JDBC Call Procedure activity, if the output element was optional. The element is now placed into the output schema and has "xsi:nil = true" to indicate the element is null.
You should surround elements that can be nil with an if statement to determine whether to output the element. To maintain the behavior of previous releases, this property controls whether elements that are nil are contained in the output. Set the property to false to achieve the behavior of previous releases.
ignore.delimiters.under.quotes
Prior to Release 2.0.4, when using the activities in the Parse palette, delimiter-separated data was not treated in a standard way. There was no mechanism to escape the specified delimiter character. For example, if you chose a comma as the delimiter, there was no way to have a field contain a comma as in "Fresno, CA". Also, there was no way to have a field span multiple lines or include leading and trailing spaces.
Now fields can be surrounded in double quotes. See the description of the Data Format shared configuration resource in TIBCO ActiveMatrix BusinessWorks Palette Reference for more information about the new semantics for parsing input text.
To disable this functionality, set the value of this property to true.
java.property.DiscardUTF8BOM
When a file is saved on a Windows platform using UTF-8 encoding, Windows adds a Byte Order Mark (BOM) to the beginning of the file. This BOM is not necessary for UTF-8, but it is valid. Prior to release 2.0.6, the File Reader activity’s output includes the BOM at the beginning of the data read from the file.
The BOM is now stripped when it is encountered. If you wish to retain the functionality of previous releases, you can set this property to false. In most cases, you will not need to set this property. You may need to set this property to true if your process definition is expecting a file that contains the BOM.
java.property.com.tibco.schema.ae.makeNillable
Certain TIBCO ActiveEnterprise-based schema elements do not display as nillable in the Input mapping tab. This can result in mappings (optional to optional) that do not copy the xsi:nil attributes at runtime to the output elements, and subsequently validation errors.
Setting this property to true causes mappings that meet the criteria to show warnings. Selecting the input mapping with an error and clicking the Mapper Check and repair button will display yellow warnings: “The input and this element are both nillable, set to copy-nil”. Clicking OK changes the mappings to add the copy-of for the nil attribute (“Optional and nillable to optional and nillable”). This is generally a better way to map this structure and ensures if the element in the source data has the xsi:nil attribute, it will be copied to the target element.
In Release 5.2.1 and subsequent releases, the default setting for this property is true, which may cause new warnings to appear in existing projects. Typically, the Mapper Check and repair button can be used to update the mappings to copy xsi:nil attributes. If it is preferable to have empty elements emitted in this case, then the property can be set to false.
Any new mapping done by drag-and-drop with the property set to true will have the “Optional and nillable” style mapping, instead of the “optional to optional” style.

Copyright © Cloud Software Group, Inc. All Rights Reserved
Copyright © Cloud Software Group, Inc. All Rights Reserved