Configuration Group/Property | Valid values | Description | Adv. | ||
Audit Settings | |||||
ChannelACL | True or False | Log to the audit file any unsuccessful channel ACL interactions. Default is true. | |||
ChannelFailure | True or False | Log to the audit file any unsuccessful realm interactions. Default is true. | |||
ChannelMaintenance | True or False | Log to the audit file any channel maintenance activity. Default is false. | |||
ChannelSuccess | True or False | Log to the audit file any successful channel interactions. Default is false. | |||
DataGroup | True or False | Log to the audit file any changes to DataGroup structure | |||
DataGroupFailure | True or False | Log to the audit file any failed attempts to DataGroup structure | |||
DataStream | True or False | Log to the audit file DataStream add and removes | |||
Group | True or False | Log to the audit file any added or removed security groups | |||
GroupMembers | True or False | Log to the audit file any changes in group membership | |||
InterfaceManagement | True or False | Log to the audit file any interface management activity. Default is true. | |||
JoinFailure | True or False | Log to the audit file any unsuccessful join interactions. Default is true. | |||
JoinMaintenance | True or False | Log to the audit file any join maintenance activity. Default is true. | |||
JoinSuccess | True or False | Log to the audit file any successful join interactions. Default is false. | |||
QueueACL | True or False | Log to the audit file any unsuccessful queue ACL interactions. Default is true. | |||
QueueFailure | True or False | Log to the audit file any unsuccessful queue interactions. Default is true. | |||
QueueMaintenance | True or False | Log to the audit file any queue maintenance activity. Default is false. | |||
QueueSuccess | True or False | Log to the audit file any successful queue interactions. Default is false. | |||
RealmACL | True or False | Log to the audit file any unsuccessful realm ACL interactions. Default is true. | |||
RealmFailure | True or False | Log to the audit file any unsuccessful realm interactions. Default is true. | |||
RealmMaintenance | True or False | Log to the audit file any realm maintenance activity. Default is true. | |||
RealmSuccess | True or False | Log to the audit file any successful realm interactions. Default is false. | |||
SnoopStream | True or False | Log to the audit file Snoop stream add and removes | |||
Client Timeout Values | |||||
EventTimeout | 5000 to No Max | The amount of ms the client will wait for a response from the server. Default is 60000. | |||
HighWaterMark | 2 to No Max | The high water mark for the connection internal queue. When this value is reached the internal queue is temporarily suspended and unable to send events to the server. This provides flow control between publisher and server. Default is 200. | |||
LowWaterMark | 1 to No Max | The low water mark for the connection internal queue. When this value is reached the outbound internal queue will again be ready to push event to the server. Default is 50. | |||
QueueAccessWaitLimit | 200 to No Max | The maximum number of milliseconds it should take to gain access to a queue to push events before notifying listeners. Default is 200 | Y | ||
QueueBlockLimit | 500 to No Max | The maximum number of milliseconds a queue will have reached HWM before notifying listeners, Default is 500. | Y | ||
QueuePushWaitLimit | 200 to No Max | The maximum number of milliseconds it should take to gain access to a queue and to push events before notifying listeners. Default is 200. | Y | ||
TransactionLifeTime | 1000 to No Max | The default amount of time a transaction is valid before being removed from the tx store. Default is 20000. | |||
Cluster Config | |||||
BufferSize | 1400 to 1048576 | Size in bytes of the inter-realm buffer to use. If the nodes are connected using a high-speed network connection, we suggest using 8192. | Y | ||
ClientQueueSize | 10 to 10000 | Size of the client request queue. If this queue is small then the clients will wait longer and performance may drop. If too large then client requests are queued but not processed. | |||
ClientQueueWindow | 10 to 1000 | The number of events sent to an async queue reader before the realm will commit. A small number will reduce performance. | |||
ClientStateDelay | 0 to 120000 | The number of seconds to delay the cluster processing client requests when a cluster state change occurs. A large number will delay client requests longer than required. | |||
DisableHTTPConnections | True or False | Disable HTTP(s) connections between cluster nodes. If true then the server will only use nsp(s) connections between realm nodes, and any nhp(s) rnames will be switched to using nsp(s). | |||
DisconnectWait | 1000 to 120000 | Time to wait for the node to form in the cluster. Once this time has expired the behavior is defined by the DisconnectWhenNotReady flag. | |||
DisconnectWhenNotReady | True or False | If the node has not formed in the cluster then disconnect the client. If true then the client will receive a disconnect, else the request will be queued. | |||
EnableMulticast | True or False | Enables multicast | |||
EnableSites | True or False | If enabled then the master selection takes into account the Prime Site.
| Y | ||
EnableStoreRecoveryRetry | True or False | Enables/Disables the ability for the slave to re-attempt a recovery of a store if it detects changes to the store during recovery. If true the slave will continue to attempt a cluster recovery of a store which may be changing due to TTL or capacity on the store attributes. | Y | ||
EnginePipelineSize | 1 to 32 | Number of concurrent pipeline threads running within the cluster engine. If set to 1, then all requests are pipelined through one thread, else topics/queues are bound to specific pipelines. | Y | ||
FilterEventsDuringRecovery | True or False | Only Applicable to JMS Engine Channels. Defines if we recover events that have already been consumed. If false then extra events may be sent to recovering realms for no real reason. | Y | ||
FormationTimeout | 60000 to 300000 | The time to wait for the state to move from recovery to slave or master. If this value is too small then recovering a large number of events will result in the realms dropping out of the cluster. | |||
HeartBeatInterval | 1000 to 120000 | Heart Beat interval in milliseconds. Default is 120000. A small value here will cause excessive messages being generated between realms. | |||
InitialConnectionTimeout | 5000 to 240000 | The number of milliseconds that the server will wait while trying to establish a connection to a peer. A small value may reduce the chance of a connection in busy networks, while a large number may delay cluster formation. | |||
IsCommittedDelay | 1000 to 30000 | When a slave processes an IsCommitted request and it is still recovering the Transaction store, it will block the clients request for this timeout period. If this is set to a large value, clients may experience a substantial delay in response. | Y | ||
MasterRequestTimeout | 1000 to 900000 | Specifies the amount of time in milliseconds that the master is going to wait for a slave to respond to a single request before disconnecting it. This timeout will prevent a slave from being reconnected if it fails to respond to a master request. | |||
MasterVoteDelay | 1000 to 60000 | When a node has requested to be master it will wait this timeout period in milliseconds for the peers to agree. If this number is too high the cluster formation may take some time. | |||
MasterWaitTimeout | 1000 to 600000 | When the master is lost from the cluster and the remaining peers detect that the master has the latest state they will wait for this time period for the master to reconnect. If the master fails to reconnect in this time period a new master is elected. | |||
PublishQueueEnabled | True or False | If enabled the slaves will queue publish requests prior to committing them to the cluster. If enabled and a slave is killed, any outstanding publish events will be lost. | Y | ||
QueueSize | 100 to 1000 | Number of events outstanding to be processed by the clusters internal queue before sending flow control requests back. Increased size increases the memory usage. | |||
SecureHandshake | True or False | If true, when peers connect they will perform a secure handshake to ensure the connection is valid. This is the preferred and secure option. Disabling this would only be recommended in debug mode. This handshake requires an RSA provider to work. | |||
SeparateLog | True or False | Create a separate log file for cluster events. Default is false. | |||
StateChangeScan | 10000 to No Max | When a realm loses master or slave state then after this timeout all cluster based connections will be disconnected. If the realm reenters the cluster then the disconnect timeout is aborted. If this value is too low, all clients will be bounced while the cluster is forming. | |||
SyncPingSize | 100 to 10000 | Number of events sent before a cluster sync occurs. A small number will effect overall performance, a large number may result in a cluster being to far out of sync. | Y | ||
TransactionSync | True or False | Make all transactional based events sync across the cluster. If true, transactional events may run slow but cluster state is guaranteed. | Y | ||
Comet Config | |||||
BufferSize | 1024 to 102400 | The buffer size for comet request. | Y | ||
EnableLogging | True or False | Enables logging of all comet queries, will impact server performance | |||
Timeout | 10000 to No Max | The timeout for a comet connection. | |||
Connection Config | |||||
AllowBufferReuse | True or False | If set to true then buffers will be allocated from the buffer pool and once finished with returned to the pool. If set to false then buffers are allocated on the fly and then left for the system to free them. It is best to leave this set to true. For object creation limitation it is best to set this to true. | Y | ||
BufferManagerCount | 1 to 256 | The number of Buffer Managers that the server will allocate. This is used during startup to size and manage the network buffers. This does not need to be large, but a rule of thumb is 1 per core. | Y | ||
BufferPoolSize | 100 to 10000 | The underlying Universal Messaging IO utilizes buffers from a pool. By default we pre-load the pool with this number of buffers. As the reads/writes require buffers they are allocated from this pool, then once used are cleared and returned. If the size is too small we end up creating and destroying buffers, and the server may spend time creating them when needed. If the size is too large we have a pool of buffers which are not used taking up memory. | Y | ||
BufferQueueSize | 10 to 1000 | Number of buffers to queue before we stop reading from the socket. If this is small we would block the connection, and performance may drop. The larger it is the more memory we use. | Y | ||
BufferSize | 1024 to 1048576 | This specifies the default size of the network buffers that Universal Messaging uses for its NIO. If small, then Universal Messaging will require more buffers (up to the maximum specified by BufferPoolSize) to send an event. If too large, then memory may be wasted on large, unused buffers. These buffers are reused automatically by the server, and are used to transfer data from the upper application layer to the network. So, for example, the server might use all BufferPoolSize buffers to stream from 1 application level buffer (depending on the relative sizes of the buffers). An efficient size would be about 40% more than the average client event, or 5K (whichever is largest). If too small, the server will send many small buffers. | |||
CometReadTimeout | 1000 to 120000 | Specifies the time the server will wait for a client to complete sending the data | |||
ConnectionDelay | 10 to 60000 | When the server has exceeded the connection count, how long to hold on to the connection before disconnecting. If this is too low, the server will be busy with reconnection attempts. Default is 60000. | Y | ||
EnablePriorityMessaging | True or False | Enables server side prioritization of messages sent to clients. Select true to enable priority messaging. | Y | ||
HandshakeTimeout | 1000 to No Max | The number of milliseconds that the server will wait for the session to be established. A small number will impact slow connections. Default is 1000, i.e. 1 second. | |||
IdleDriverTimeout | 120000 to No Max | Specifies the time in milliseconds that a communications driver can be idle before being deemed as inactive. When this happens the server will automatically close and remove the driver. This must be greater than the keep alive timeout else all connections will be closed due to inactivity. | |||
IdleSessionTimeout | 10000 to No Max | If there has been no communication from a client for the configured number of milliseconds, the client is deemed idle and is disconnected. This typically occurs when there are network issues between a client and the server. If the value is too low, the chance of disconnecting a valid session is high. | |||
KeepAlive | 5000 to No Max | The number of milliseconds the server will wait before sending a heartbeat. A small number will cause undue network traffic. Default is 60000. | |||
MaxBufferSize | 1024 to No Max | The maximum buffer size in bytes that the server will accept. Default is 20971520 (20MB). Rather than using larger buffers, it is recommended that you compress if possible to save bandwidth and memory on the server. This value exists to stop a user from accidentally or maliciously overloading the server and causing excessive memory consumption. | |||
MaxBufferSizeClientSideCheck | True or False | If set to true, this enables client-side checks of the size of the events being sent against the connection's MaxBufferSize. This allows for better exception handling and less wasted bandwidth on the client side. Default is true. | |||
MaxNoOfConnections | -1 to No Max | Sets the maximum concurrent connections to the server, -1 indicates no restriction, default is -1. Reducing this to a small number may cause client connections to be rejected. | |||
MaxWriteCount | 5 to 100 | When writing many events to a client the write pool thread may continue to send the events before returning to the pool to process other clients requests. So, for example if it is set to 5, then the thread will send 5 events from the clients queue to the client before returning to the pool to process another request. If this number is small it creates additional CPU overhead. | |||
NIOSelectArray | True or False | Specifies that the low level processing will use an array and not an iterator | Y | ||
NetworkMonitorThreads | 2 to 100 | The number of threads to allocate to flushing client data, Please note this will only take effect after a restart. Depending on the number of concurrent clients the latencies during load my be higher then expected | |||
OutputBlockSize | 100 to No Max | The size of the application-level buffer used when streaming events. If the size is exceeded during streaming, the buffer is immediately emptied, and its contents transmitted over the network. Typically, each connection has its own buffer for outbound streaming. A small number increases network overhead, a large number increases memory requirements. Default is 1400. | Y | ||
PriorityQueueCount | 2 to 10 | Sets the number of queues to divide priority levels between, up to a maximum of 10 queues. | |||
PriorityReadSpinLockMaxConnections | 0 to 8 | Maximum number of clients allowed to allocate high priority spin locks | |||
PriorityReadSpinLockTime | 1 to 10000 | Maximum number of clients allowed to allocate high priority spin locks | Y | ||
PriorityReadType | 0 to 2 | If enabled then high priority sessions will be enabled to run spin locks waiting to read | |||
QueueHighWaterMark | 100 to No Max | The number of events in a client output queue before the server stops sending events. A small number will cause undue work on the server. Default is 100. | |||
QueueLowWaterMark | 50 to No Max | The number of events in the clients queue before the server resumes sending events. Must be less than the high water mark. Default is 50. | |||
ReadCount | 1 to 20 | Number of times the thread will loop around waiting for an event to be delivered before returning. | |||
UseDirectBuffering | True or False | If true the server will allocate DirectByteBuffers to use for network I/O, else the server will use HeapByteBuffers. The main difference is where the JVM will allocate memory for the buffers the DirectByteBuffers perform better. For the best performance the DirectByteBuffers are generally better. | Y | ||
WriteHandlerType | 1 to 5 | Specifies the type of write handler to use | |||
whEventThresholdCount | 1 to 2000 | Number of events to exceed in the whEventThresholdTime to detect a peak. This number should be small enough to trigger peaks. | |||
whEventThresholdTime | 1 to 2000 | Number of milliseconds to sample the event rate to detect peaks | |||
whMaxEventsBeforeFlush | 1 to 10000 | Total number of events that can be sent before a flush must be done. If this number is too small then too many flushes will result. | |||
whMaxEventsPerSecond | No Min to No Max | Specifies the total number of events per second that a realm will send to clients before switching modes into peak mode. If this number is small then the server will go into peak mode too soon and latencies will start to increase. | |||
whMaxTimeBetweenFlush | 1 to 1000 | Total number of milliseconds to wait before a flush is done. If this number is too large then latencies will increase. | |||
whPeakTrailDelay | 100 to 5000 | When a peak is detected how long to stay in this state before returning to normal. If this is too large then latencies may be larger then expected. | |||
Data Stream Config | |||||
FanoutTaskQueueSize | 32 to 1024 | Sets the number of tasks that the FanOut Executor will have outstanding | |||
FanoutTraversalType | 0 to 2 | The method to use when traversing connections. | |||
MaxSessionIdSize | 5 to 30 | Maximum size of the session ID used to uniquely identify the clients | Y | ||
MonitorTimer | 1000 to 120000 | Time interval in milliseconds to scan the data group configuration looking for idle / completed streams | Y | ||
OffloadMulticastWrite | True or False | If true then all multicast writes will be performed by the parallel fanout engine. | Y | ||
ParallelFanoutThreshold | 10 to 10000 | Number of streams when the server will use parallel fanout | Y | ||
SendInitialMapping | True or False | When any stream registered client connect sends the entire DataGroup Name to ID mapping | Y | ||
Durable Config | |||||
QueuedExtendedException | True or False | If true, then if the selector on a queued durable changes, the selector is added to the exception string. | Y | ||
Environment Config | |||||
AvailableProcessors | READ ONLY | Number of CPUs available | |||
Embedded | READ ONLY | If true, this specifies that the server is running as an embedded server | |||
InterRealmProtocolVersion | READ ONLY | Universal Messaging Server Inter-Realm Protocol Version | |||
JavaVendor | READ ONLY | Vendor of Java Virtual Machine | |||
JavaVersion | READ ONLY | Virtual Machine Version | |||
NanosecondSupport | READ ONLY | Nanosecond support available through JVM on Native OS | |||
OSArchitecture | READ ONLY | Operating System Architecture | |||
OSName | READ ONLY | Operating System Name | |||
OSVersion | READ ONLY | Operating System Version | |||
ProcessId | READ ONLY | Process ID | |||
ServerBuildDate | READ ONLY | Universal Messaging Server Build Date | |||
ServerBuildNumber | READ ONLY | Universal Messaging Server Build Number | |||
ServerReleaseDetails | READ ONLY | Universal Messaging Release Details | |||
ServerVersion | READ ONLY | Universal Messaging Server Build Version | |||
TimerAdjustment | READ ONLY | The size of the Operating System's time quantum. | |||
Event Storage | |||||
ActiveDelay | 100 to No Max | The time in milliseconds that an active channel will delay between scans. The smaller the number, the more active the server. Default is 1000. | Y | ||
AutoDeleteScan | 1000 to 500000 | Specifies the number of milliseconds between scans on AutoDelete stores to see if they should be deleted. The larger this time frame, the more AutoDelete stores will potentially not be deleted on the server. | |||
AutoMaintainOnFileLimit | True or False | Specifies whether the server will automatically perform maintenance on topic or queue stores when the MaintenanceFileSizeThreshold is reached | |||
AutoMaintainSystemStores | True or False | Specifies whether the server will automatically perform maintenance on internal system file stores | |||
AutoMaintenanceThreshold | 0 to 100 | Sets the percentage free before the server should run maintenance on the internal stores | |||
CacheAge | 1000 to No Max | The length of time in ms that cached events will be kept in memory. The larger the value, the more memory will be utilized. Default is 86400000 ms, which is 24 hours. | Y | ||
EnableBufferingKey | True or False | If set to true, the server will use memory mapped files for last EID buffering. This will improve performance for all event stores. | Y | ||
EnableStoreCaching | True or False | If true the server will try to cache events in memory after they have been written/read. Please note the server will need to be rebooted for this to take effect | |||
EnableStoreReadBuffering | True or False | If true the server will buffer the reads from the store. This will increase replay performance greatly. Please note the server will need to be rebooted for this to take effect. | Y | ||
IdleDelay | 5000 to No Max | The time in milliseconds that an idle channel will delay between scans. The smaller the number, the more active the server. Default is 60000. | Y | ||
JMSEngineAutoPurgeTime | 5000 to 600000 | Defines the interval between clean up of events on a JMS Engine Resource. A large interval may result in topics with large numbers of events waiting to be purged. | Y | ||
MaintenanceFileSizeThreshold | 1024000 | Sets the file size in bytes that will trigger the perform maintenance. This allows the client to specify when the server should run maintenance on any auto maintained stores. | |||
MaintenanceMemoryThreshold | 1048576 | Maximum size in memory for any topic or queue to reach before maintenance of the in-memory cache is run. | |||
PageSize | 10 to 100000 | The page size to use for the event store. This value sets the number of events/page. | |||
QueueDeliveryPersistencePolicy | 0 to 2 | Sets the Queue Delivery Persistence Policy | Y | ||
StoreReadBufferSize | 1024 to 3000000 | Size of the buffer to use during reads from the store. Note that the server will need to be restarted for this to take effect. | Y | ||
SyncBatchSize | 1 to 1000 | Specifies the maximum size before the sync call is made. The lower this value, the more sync calls made and the more overhead incurred. | Y | ||
SyncServerFiles | True or False | If true the server will sync each file operation for its internal files. If true, this adds additional overhead to the server machines and can reduce overall performance. | |||
SyncTimeLimit | 1 to 1000 | Specifies the maximum time in milliseconds that will be allowed before the sync is called. The lower this value, the more file sync calls and the more overhead incurred. | Y | ||
ThreadPoolSize | 1 to 4 | The number of threads allocated to perform the management task on the channels. The more channels a server has, the larger this number should be. Default is 1. | |||
Fanout Values | |||||
ConnectionGrouping | True or False | If true allows the server to group connections with the same selector providing improved performance. This allows the server to optimize the way it processes events being delivered to the clients. This requires a server restart to take effect. | Y | ||
DelayPublishOnCapacity | True or False | Delays the publisher thread when the store capacity is exceeded. If this is not set, an exception is passed back to the client. | |||
HonourSharedDurableCapacity | True or False | If true, the channel will check any shared durables for capacity before accepting a published event. If any of these durables are over capacity, the server will respond as if the parent channel is over capacity. If false, the event will be published regardless of the number of events on its shared durables. | Y | ||
IteratorWindowSize | 1 to No Max | Specifies the number of events delivered to each Channel Iterator in a pre fetch. This allows the client to perform much faster by pre fetching events on fast moving topics requiring less client to server communication. The default is 100. | |||
JMSQueueMaxMultiplier | 1 to 10 | The multiplier used on the High Water mark when processing events from a JMS Engine Queue/Topic. If this value is too high the server will consume vast amounts of memory. | Y | ||
MaximumDelayInWrite | 1 to 5000 | The number of milliseconds an event will wait in a queue before it will be processed. If this number is to high then the first published event may take time to be delivered to the client. | Y | ||
ParallelBatchSize | 50 to 10000 | Specifies the number of connections to process in one batch per parallel thread. If this number is small then there may be adverse overheads. | |||
ParallelThreadPoolSize | 2 to 64 | Specifies the number of threads to use within the thread pool. If this number is small then there maybe adverse overheads. This value required a restart to take effect. | |||
ParallelThreshold | 1 to 10000 | Specifies the number of connections to a channel before the server will use the parallel fanout engine. If this number is small then there maybe adverse overheads. | |||
ParallelUseGlobalPool | True or False | If true all channels use a common pool else all channel have there own pool. If this number is small then there maybe adverse overheads. This value required a restart to take effect. | |||
PeakPublishDelay | 0 to No Max | When clients start to hit high water mark, this specifies how long to delay the publisher to allow the client time to catch up. If this is too small the publisher can overwhelm the server. | Y | ||
PublishDelay | 0 to No Max | How long to delay the publisher when the subscriber's queue start to fill, in milliseconds. If this number is 0 then no delay. Default is 10. | Y | ||
PublishExpiredEvents | True or False | Specifies whether to publish expired events at server startup. Default is true. | |||
RoundRobinDelivery | True or False | Specifies whether to use a round robin approach for event delivery to the set of available event consumers. Default is false. | |||
SendEndOfChannelAlways | True or False | Specifies whether to always send an End Of Channel, even if we find no matches within the topic. If set, the subscriber will always be informed that the subscription request has completed the recovery of the topic. | |||
SendPubEventsImmediately | True or False | Specify whether to send publish events immediately. If true, then the server will send all publish events to clients immediately, if false the server is allowed to collect events before publishing. | |||
SyncQueueDelay | 10 to 3600000 | Maximum number of milliseconds the queue publisher will be delayed. This can be used to slow down the queue publishers. | |||
SyncQueuePublisher | True or False | If true then the queue publisher will be sync with the queue consumers. This allows flow control of queue publishers. | |||
Global Values | |||||
AllowRealmAdminFullAccess | True or False | If true then any user with the full realm access will have access to all channels and queues. | Y | ||
CacheJoinInfoKeys | True or False | If enabled we cache join key information between events passed over joins. This reduces the number of objects created. If this parameter is set to false then the server will create a new byte[] and string for each joined event. | Y | ||
DisableExplicitGC | True or False | If enabled the server will call the Garbage Collector at regular intervals to keep memory usage down. If this is disabled then the garbage collection will be done solely by the JVM. | |||
EnableCaching | True or False | If EnableCaching is set to True, the channel storage properties Cache On Reload and Enable Caching are set to the values specified by the client. If EnableCaching is set to False, then the channel storage properties Cache On Reload and Enable Caching are set to False, regardless of the values set by the client for these storage properties. The default for the global value EnableCaching is False. | |||
EnableDNSLookups | True or False | If enabled the server will attempt to perform a DNS lookup when a client connects to resolve the IP address to a hostname. In some instances this may slow down the initial client connections. | |||
EnableWeakReferenceCleanup | True or False | If enabled then the server will hook into the JVM's garbage collection and release cached items when the JVM needs memory. By enabling this, the number of cached events stored will be reduced but memory will be maintained. | Y | ||
ExtendedMessageSelector | True or False | If true, allows the server to use the extended message selector syntax (enabling string to numeric conversions within the message selector). Default is false. | |||
HTTPCookieSize | 14 to 100 | The size in bytes to be used by nhp(s) cookies | Y | ||
NHPScanTime | 5000 to No Max | The number of milliseconds that the server will wait before scanning for client timeouts. Default is 5000, i.e. 5 seconds. | Y | ||
NHPTimeout | 2000 to No Max | The number of milliseconds the server will wait for client authentication. If this number is too large, the server may have unwanted connections. Default is 120000, i.e. 2 minutes. | Y | ||
NanoDelayBase | 10000 to 1000000 | This number represents the number of nanoseconds in a millisecond. This is by definition 1,000,000, but changing the value can be used to increase or decrease the internal delays used by Universal Messaging. If too large, the response will slow down, and if too small, CPU usage increases. | Y | ||
OverrideEveryoneUser | True or False | Override the *@* permission for channels / queues with explicit ACL entry permissions. Default is false. | |||
SendRealmSummaryStats | True or False | If true sends the realm's status summary updates every second. Default is false. | |||
ServerStateFlush | 50 to 1000 | Specifies the time in milliseconds between scans to save the server's state files. If this parameter is too large then data may be lost if power to the machine is lost. | Y | ||
ServerTime | True or False | Allow the server to send the current time to the clients. Default is true. | |||
StampDictionary | True or False | Place Universal Messaging details into the dictionary, default is false. If true, adds additional overhead to the server/client. | |||
StampHost | True or False | Stamps the header with the publishing host (true/false). If true adds additional overhead to the server/client. | |||
StampTime | True or False | Stamps the header with the current time (true/false). If true, adds additional overhead to the server/client. | |||
StampTimeUseHPT | True or False | If this is set to true, then the server will use an accurate millisecond clock, if available, to stamp the dictionary. This may impact overall performance when delivering events when latency is important. | |||
StampTimeUseHPTScale | 0 to 2 | This has 3 values, milli, micro or nano accuracy | |||
StampUser | True or False | Stamps the header with the publishing user (true/false). If true, adds additional overhead to the server/client. | |||
StatusBroadcast | 2000 to No Max | The number of milliseconds between status events being published. A small value increases the server load. Default is 5000, i.e. every 5 seconds. | |||
StatusUpdateTime | 2000 to No Max | The number of milliseconds between status events being written to disk. Status events provide a history of the realm's state. A small value increases the server load. The default for this is Long.MAX_VALUE, i.e. never written to disk. | |||
Inter-Realm Comms Config | |||||
EstablishmentTime | 10000 to 120000 | Time for an inter-realm link to be initially established. This value should reflect the latency between nodes. | Y | ||
KeepAliveInterval | 1000 to 120000 | Time interval where if nothing is sent a Keep Alive event is sent. This can be used to detect if remote members are still up and functioning. | Y | ||
KeepAliveResetTime | 10000 to 180000 | If nothing has been received for this time the connection is deemed closed. This value must be larger than the KeepAliveInterval. | Y | ||
MaximumReconnectTime | 1000 to 50000 | The maximum number of milliseconds to wait before trying to re-establish a connection. If too large, cluster formation will be delayed. | Y | ||
MinimumReconnectTime | 100 to 10000 | The minimum time to wait before establishing a connection. If this number is too high then it may impact on the network during outages. | Y | ||
Timeout | 60000 to 180000 | If no events are received within this time limit, the link is assumed dead and will be closed. If this limit is less than the keep alive time then the link will be closed. | Y | ||
WriteDelayOnFail | True or False | If true then all writes will be delayed until the link is reconnected or the timeout is reached. | Y | ||
WriteDelayTimeout | 1000 to 60000 | The maximum time to wait in a write of the link has dropped. | Y | ||
ZoneDefaultCanRecv | True or False | The default value that the interest manager will assign to canRecv when a new channel is created | Y | ||
ZoneDefaultCanSend | True or False | The default value that the interest manager will assign to canSend when a new channel is created | Y | ||
JVM Management | |||||
AutoThreadDumpOnExit | True or False | Defines if a thread dump is produced when the server exits. | |||
EmergencyThreshold | 50 to 99 | The memory threshold when the server starts to aggressively scan for objects to release. If this value is too large the server may run out of memory. Default is 94, i.e. 94% | |||
EnableJMX | True or False | Enable JMX beans within the server. If enabled the server will present JMX MBeans so it can be monitored by any JMX client. | |||
ExitOnDiskIOError | True or False | If true, the server will exit if it gets an I/O Exception. Setting this to false may result in lost events if the server runs out of disk space. Default is true | Y | ||
ExitOnInterfaceFailure | True or False | If true and for any reason an interface cannot be started when the realm initializes, the realm will shut down. | Y | ||
ExitOnMemoryError | True or False | If true, the server will exit if it gets an out of memory exception. Setting this to false may result in unstable behavior if the server runs out of memory. Default is true. | Y | ||
IORetryCount | 2 to 100 | Number of times a file I/O operation will be attempted before aborting | Y | ||
IOSleepTime | 100 to 60000 | Time between disk I/O operations if an I/O operation fails. If this time is large then the server may become unresponsive for this time. | Y | ||
JMXRMIServerURLString | String | JNDI Lookup URL for the JMX Server to use. | |||
MemoryMonitoring | 60 to 30000 | Number of milliseconds between monitoring memory usage on the realm. If this value is too large then the realm will be slow to handle memory usage. Default is 2000. | |||
ThrottleAllPublishersAtThreshold | True or False | Defines if publishers will be throttled back when the memory emergency threshold is reached. | Y | ||
WarningThreshold | 40 to 95 | The memory threshold when the server starts to scan for objects to release. If this value is small then the server will release objects too soon, resulting in a lower performing realm. Default is 85, i.e. 85%. | |||
Join Config | |||||
ActiveThreadPoolSize | 1 to No Max | The number of threads to be assigned for the join recovery. Default is 2. | |||
IdleThreadPoolSize | 1 to No Max | The number of threads to manage the idle and reconnection to remote servers. This number should be kept small. Default is 1. | |||
MaxEventsPerSchedule | 1 to No Max | Number of events that will be sent to the remote server in one run. A low number will increase the time to recover the remote server, a large number will impact other joins which are also in recovery. Default is 50. | Y | ||
MaxQueueSizeToUse | 1 to No Max | The maximum events that will be queued on behalf of the remote server. A low number increases the time for the remote server to recover, a large number increases the memory used for this server. Default is 100. | Y | ||
RemoteJoinAckBatchSize | Events received through remote joins are acknowledged in batches. This property configures the batch size. | Y | |||
RemoteJoinAckInterval | In addition to the batch acknowledgement, remote join events get acknowledged every n milliseconds. This property configures this interval | Y | |||
UseQueuedLocalJoinHandler | True or False | Specifies whether to use a queued join event handler. True will enable source channels and destination channels to be process events independently | Y | ||
Logging Config | |||||
DefaultLogSize | 100 to No Max | The default size of the log in bytes | |||
DisplayCurrentThread | True or False | If enabled will display the current thread in the log message. | |||
DisplayPackageName | True or False | If enabled will display the package name of the logger this message originates from in the log message. | |||
EmbedTag | True or False | Used to control if the message tag is displayed in log messages. | |||
EnableLog4J | True or False | If enabled will intercept log messages and pass to Log4J as well. This requires a restart before it will take effect. | |||
LogManager | 0 to 2 | The Log manager to use. 0 = ROLLING_OLD, 1 = ROLLING_DATE, 2 = ROLLING_NUMBER | |||
RolledLogFileDepth | No Min to No Max | The number of log files to keep on disk when using log rolling. Oldest log files will be deleted when new files are created. | |||
customDebugTag | String | The tag to mark Debug log entries with. | |||
customErrorTag | String | The tag to mark Error log entries with. | |||
customFatalTag | String | The tag to mark Fatal log entries with. | |||
customInfoTag | String | The tag to mark Info log entries with. | |||
customLogTag | String | The tag to mark Log entries with. | |||
customTraceTag | String | The tag to mark Trace log entries with. | |||
customWarnTag | String | The tag to mark Warn log entries with. | |||
fLoggerLevel | 0 to 6 | The server logging level, between 0 and 6, with 0 indicating very verbose, and 6 indicating very quiet. The more logging requested, the more overhead on the server. Default is 5. | |||
Metric Config | |||||
EnableEventMemoryMonitoring | True or False | If this is set to True, the server will make available memory usage. | |||
EnableMetrics | True or False | If this is set to True, the server will make available system metrics (e.g. memory usage). | |||
Plugin Config | |||||
EnableAccessLog | True or False | Defines if plugin access log is produced | |||
EnableErrorLog | True or False | Defines if plugin error log is produced | |||
EnablePluginLog | True or False | Defines if plugin status log is produced | |||
MaxNumberOfPluginThreads | 10 to 10000 | Maximum number of threads to allocate to the plugin manager | Y | ||
PluginTimeout | 1000 to 30000 | Time in milliseconds that the plugin will read from a client. If too small, the plugin may not load all of the clients requests | Y | ||
Protobuf Config | |||||
CacheEventFilter | True or False | Hold the Protocol Buffer filter cache in memory. Default true | Y | ||
FilterProtobufEvents | True or False | Allows the server to filter on Protocol Buffers. Default is true | |||
MaximumProtobufBuilders | 1 to No Max | The maximum number of builders per descriptor file when using the global (non-channel) caches. Default 4 | Y | ||
MinimumProtobufBuilders | 1 to 99 | The minimum number of builders per descriptor file when using the global (non-channel) caches. Default 2 | Y | ||
ProtobufDescriptorsInputDir | String | The folder to search for Protocol Buffer descriptor files to parse incoming messages. | Y | ||
ProtobufDescriptorsOutputDir | String | The folder for the server to put the combined Protocol Buffer descriptor file for serving out to clients. | Y | ||
UpdateDescriptorsInterval | 1000 to No Max | The time in milliseconds between checking the Protocol Buffer directory for updates. Default is 60000 | Y | ||
useChannelLevelProtobufCache | True or False | Setting this will alter how protobuf descriptors are cached. If set to true, use the channel-level protobuf cache. If set to false, the global-level cache will be used. The server must be restarted for this to take effect. | |||
Protocol AMQP Config | |||||
AllowUserTransformation | No Min to No Max | Will load user class for event transformation0 | Y | ||
AnonymousUser | String | The user name to use for anonymous users | |||
BufferSize | 1000 to 60000 | The size of the buffer that will be used to read/write on the AMQP connection | |||
DefaultNodeMode | 0 to 1 | The type of node if it is not able to detect it. 0=Queue, 1=Topic | |||
Enable | 0 to No Max | If true the server will accept incoming AMQP connections | |||
EnableWriteThread | True or False | Enables the off loading of the physical write to a thread pool | Y | ||
EngineLoopCount | 4 to 100 | How many times the AMQP state engine will cycle per thread pool allocation | Y | ||
MaxFrameSize | 10000 to No Max | Maximum size of an AMQP frame | Y | ||
MaxThreadPoolSize | 2 to 100 | Largest number of threads the pool can have. | |||
MinThreadPoolSize | 1 to 10 | Smallest number of threads for the dedicated AMQP thread pool | |||
QueuePrefix | String | The address prefix for specifying topic nodes as required by some clients | |||
SASL_Anonymous | True or False | Enable Anonymous SASL | |||
SASL_CRAM-MD5 | True or False | Enable CRAM-MD5 SASL | |||
SASL_DIGEST-MD5 | True or False | Enable DIGEST-MD5 SASL | |||
SASL_Plain | True or False | Enable Plain SASL | |||
SubscriberCredit | 100 to No Max | Sets the subscriber (receiver) credit | |||
Timeout | 10000 to 300000 | Sets the network timeout | Y | ||
TopicPrefix | String | The address prefix for specifying topic nodes as required by some clients | |||
TransformToUse | 0 to 4 | Select which transformation to use. 0 - No transformation, 1 - Basic Transformation, 2 - Complete Transformation, 3 - User Configurable | |||
Protocol MQTT Config | |||||
Enable | True or False | If true the server will accept incoming MQTT connections | |||
EnableAutoCreateTopics | True or False | If true the server will auto generate Topics for MQTT clients for subscriptions and publishing | |||
IgnoreClientIDLength | True or False | If set to true ignore the standard clientID maximum length check of 24 characters | |||
MaxBufferSize | 10000 to 100 000 000 | Sets the maximum buffer size that the MQTT client can send | Y | ||
SessionStateTTL | 0 to No Max | The number of milliseconds the state of a clientID is kept between connections. The default value is 3 days. Setting this value to 0 will store the clientID state until a clean session is received. | Y | ||
Timeout | 1000 to 60000 | The number of milliseconds over the timeout value before the server will close the connection | Y | ||
Protocol STOMP Config | |||||
Enable | 0 to No Max | If true the server will accept incoming STOMP connections | |||
Proxy Forward Config | |||||
BufferSize | 1024 to 20480 | The size of the buffer to use for the proxied events. If this value is small then there will be additional network traffic dealing with small packets. | Y | ||
FlushTimeout | 10000 to 120000 | Time to wait for a flush to complete. If this value is too large it may delay other clients from flushing the data. | Y | ||
RecoveryDaemon | |||||
EventsPerBlock | 1 to No Max | The number of events to send in one block | Y | ||
ThreadPool | 1 to No Max | Number of threads to use for client recovery | |||
Server Protection | |||||
EnableFlowControl | True or False | Enables flow control of producer connections. Default is False. | |||
FlowControlWaitTimeOne | 0 to 120000 | The time in milliseconds to hold a producing connection before processing its events. This is the longest level of waiting. | Y | ||
FlowControlWaitTimeTwo | 0 to 120000 | The time in milliseconds to hold a producing connection before processing its events. This is the second level of waiting. | Y | ||
FlowControlWaitTimeThree | 0 to 120000 | The time in milliseconds to hold a producing connection before processing its events. This is the first level of waiting and the shortest wait time. | Y | ||
Thread Pool Config | |||||
CommonPoolThreadSize | 5 to 1000 | Maximum number of threads to allocate to the common thread pool | |||
ConnectionThreadPoolMaxSize | 10 to No Max | The maximum number of threads allocated to establish client connections. If this number is too small then connections may be left waiting for a thread to process it. | |||
ConnectionThreadPoolMinSize | 4 to 100 | The minimum number of threads allocated to establish client connections. If too large then the server will have many idle threads. | |||
ConnectionThreadWaitTime | 10000 to 300000 | The time for the thread to wait for the client to finalize the connection. If too low then slow linked clients may not be able to establish a connection. | Y | ||
EnableConnectionThreadPooling | True or False | If true then if NIO is available it will be available for interfaces to use it and then all reads/writes will be done via the Read/Write thread pools. If NIO is not available then a limited used write thread pool is used. This requires a realm restart before it takes effect. | Y | ||
MaxUnauthorisedCount | 10 to 10000 | The maximum outstanding unauthorized connections per hostname (or IP address if host name is unavailable) | Y | ||
ReadThreadPoolMaxSize | 4 to No Max | The maximum number of threads that will be allocated to the read pool. If NIO is not available this should be set to the maximum number of clients that are expected to connect. If NIO is available then it's best to keep this number under 20. | |||
ReadThreadPoolMinSize | 4 to No Max | This is the number of threads that will always be present in the read thread pool. If this is too small then the thread pool will be requesting new threads from the idle queue more often. If too large then the server will have many idle threads. | |||
SchedulerPoolSize | 1 to 100 | The number of threads assigned to the scheduler, default is 2. | |||
ThreadIdleQueueSize | 5 to 50 | When threads are released from various pools since they no longer need them they end up in the idle queue. If this idle queue exceeds this number the threads are destroyed. Specify this number to be large enough to accommodate enough idle threads, so that if any thread pool requires to expand then it can be reused. If the number is too large then the server may have many idle threads. | |||
WriteThreadPoolMaxSize | 5 to No Max | The maximum number of threads that will be allocated to the write pool. If NIO is not available this should be set to the maximum number of clients that are expected to connect. If NIO is available then it's best to keep this number under 20. | |||
WriteThreadPoolMinSize | 5 to No Max | This is the number of threads that will always be present in the write thread pool. If this is too small then the thread pool will be requesting new threads from the idle queue more often. If too large then the server may have many idle threads. | |||
TransactionManager | |||||
MaxEventsPerTransaction | 0 to No Max | The maximum number of events per transaction, a 0 indicates no limit. | |||
MaxTransactionTime | 1000 to No Max | Time in milliseconds that a transaction will be kept active. A large number will cause the server to retain these transactions in memory. | |||
TTLThreshold | 1000 to 60000 | The minimum time in milliseconds, below which the server will not store the Transaction ID. | Y | ||