6.17 Appendix A: XMA Runtime Properties

The XMA Runtime can be customized by XProperties included by the file src/root.properties in your project directory. Properties starting with xma.runtime are synchronized to the XMA client. These properties can be retrieved at the client side with the method XMASessionClient.getRuntimeProperty() . The following properties customize the behaviour of several XMA Runtime and XMA Datasource features.

namemeaningdefault
xma.runtime. activateGlobalEvents

String property since XMA Runtime Version 1.7.14. To activate the GlobalEvent mechanism this property has to be set to another value than false . GlobalEvents enable the server to send events within a RPC to the client, which has to register a GlobalEventListener. As this means a slight overhead for every RPC this feature has to be turned on explicitly.

The name assigned to this property serves as a scope for GlobalEvents. GlobalEvents are only written and read in the scope set by this property. This mechanism prevents that GlobalEvents of different applications are mixed. Usually each application will define its own scope and is therefore only able to read its own GlobalEvents. It is suggested to use the application's name in small letters (to avoid Windows/Unix issues): e.g. activateGlobalEvents=samplespar

Do not use a package like name as "at.spardat.samplespar" as dots are interpreted as JNDI nodes! xma.runtime. activateGlobalEvents=true is now a scope name as any other name (Of course this name is recommended).

In some cases the GlobalEvent scope might be shared between different applications. For example one application maintains domains and sends a GlobalEvent that a certain domain was changed. Another application will receive this GlobalEvent and refresh the domain at its clients.

For more details of the GlobalEvent mechanism see:

Global Events(Global Events)

false
xma.runtime.autoExit

Since XMA Runtime Version 1.7.3. If set to "true", the client side application will automatically be terminated if the server side session is no longer valid or the server is unreachable. If the server is unreachable, the user is asked if he wants to exit, if the session is invalid, he is only notified. Default is false, which is the old behaviour.

false
xma.runtime.doKeepAlive

Since XMA Runtime Version 1.7.0. Determines if the server side session should be kept alive as long as the client is open. Default is true (the same behaviour as before).

true
xma.runtime.keepAliveInterval

Since XMA Runtime Version 1.7.3. Defines the time between two consecutive keep-alive calls in seconds. If not set, the setting of the bootruntime is used, which defaults to 55 min.

3300
xma.runtime. messagesApplicationModal

If set to "true" all messages shown using PageClient.showMessage() and all exceptions caught by the runtime are shown application modal.

If set to "false" all these messages and exceptions are shown primary modal.

false
xma.runtime. RpcCompressionThreshold

This parameter applies to RPCs and determines the minimum size of data to trigger gzip-compression. This works in both directions, i.e., applies to data sent from the Xma client to the server and vice versa. A value of -1 disables compression for all RPCs in the application.

1024
xma.runtime.rpcMessureSize

Since XMA Runtime Version 1.8.1. XMA performs end to end time measurement. With this parameter you can turn on additional measurement of message sizes transferred in both directions. The size measurements are not logged automatically. You have to read them with RemoteCall.getLastClientMeasurement(). true means measure size and time false means measure time only

false
xma.runtime. showExceptionClassName

Messages shown by NotificationBox.show() (used by PageClient.showException()) show first the class name of the Exception and then the Exception text (like "SysException: internal Error...[100001]"). If this property is set to 'false' then the Exception class name is suppressed.

true
xma.runtime.Serializer

Determines the serializer used in RPCs:

  • binary: Most efficient and must be set in production environment; the default.

  • ascii: Data sent in RPCs is coded US-ASCII, without meta information.

  • tascii: Data sent is US-ASCII, every value is preceded a descriptive tag (tagged ascii).

The ascii settings may be used for load tests to force a readable HTTP-stream. This property must not be changed in a running server.

binary
xma.runtime. sloppyModelSetters

With the XMA Runtime Version 1.7.0 the ISimpleWM.set(xxxx) method changed the implementation of behaviour on type conflicts. The old behaviour was to do nothing on type conflicts, for example if you set a String and the model is a numeric one. The new implementation is to throw an IllegalStateException. If you do not want to switch to the new implementation, you can set this property to 'true'. It is recommended that you do not set this property and instead use the new behaviour.

false
xma.runtime.SSLPort

xma.runtime.SSLPort defines the TCP port used for login and logout requests protected by HTTPS. An XMA application requested via an HTTP URL always protects its login and logout requests by HTTPS. This property defines the HTTPS port to use. Make sure the application server is similar configured. For XMA applications which are loaded by an HTTPS URL this property is ignored, as the whole application is already protected by HTTPS anyway.

Since Version 1.7.8 The property xma.runtime.SSLPort may contain a list of ports separated by ',' (';' and '|' are possible, too). If this property contains more than one port number, these ports are tried in sequence whenever an encrypted connection is needed during the login process. Make sure, the normally used port is the first in the list, because it is always tried first!

443
xma.runtime. useOutOfDomainKey

Since XMA Runtime Version 1.7.9. Used to customize the handling of outdated and invalid domain keys. If xma.runtime.useOutOfDomainKey=true, which is the default, the behaviour is unchanged: The drop down box of domain combos normally contains only valid domain values. If an invalid key is selected programatically (e.g. read from the database) it is added to this list. So it is possible for the user to reselect this key if he started changing the selection of the combo. It is showed as its short value followed by (unknown).

If xma.runtime.useOutOfDomainKey=false, a new behaviour applies: The drop down box of domain combos always contains only valid domain values. If an invalid key is selected programatically (e.g. read from the database) it is only showed in the text field of the combo box. It is showed in the same style as the valid values. It is not possible for the user to reselect this key, once he started changing the selection of the combo.

true
xma.runtime. verboseNotificationBox

Per default, message boxes at the XMA client include the stack trace if the environment is local or development. Now, this property may be set to 'false' to suppress display of the stack trace even in development environments.

true
   
at.spardat.xma.datasource. compressionThreshold

Defines that tables to be downloaded should be gzip compressed if their byte stream exceeds compressionThreshold bytes. If set to -1, compression is disabled. This property may only be set to values not equal to -1 since Boot-Runtime version 1.3.0! To turn it on is recommended since Boot-Runtime version 1.3.0. A recommended value is compressionThreshold=1024.

-1
at.spardat.xma.datasource. hashIntegrityProtection

Defines if tabular tables downloaded to the XMA client should be integrity-protected by hash-values. This enables that corrupted files at the client may be cleaned up after detection. This property is set to false per default. It may be set to true since Boot-Runtime version 1.3.0.

false
   
at.spardat.xma. rpcDetailStatistics

If set to true then the ImcMonitor gathers statistics specifically per RPC name. Use that option with care as it results in some overhead. For details about ImcMonitor statistics see Statistics.

false

Table 6.17. xma runtime properties