/
Nexaweb-Server
Nexaweb-Server
<!-- ================================================================================== --> <!-- Nexaweb Server Configuration --> <!-- ================================================================================== --> <!-- --> <!-- Nexaweb Server has configuration values of several types: --> <!-- --> <!-- String --> <!-- integer (in the math sense, not the Java sense) --> <!-- floating point --> <!-- boolean --> <!-- time interval --> <!-- percentage --> <!-- --> <!-- For each of these types, there are acceptable formats. --> <!-- --> <!-- See the comments at the end of this file for more information on the allowable --> <!-- formats for each type. --> <!-- --> <!-- ================================================================================== --> <server> <!-- ============================================================================== --> <!-- Logging Configuration --> <!-- ============================================================================== --> <!-- Valid levels for log are: --> <!-- "debug", "info", "error" & "exception" --> <!-- <log-configuration default-log-level="info"> --> <!-- Note that the following is the default format, but that --> <!-- any Individual LogConsumer may choose to format messages --> <!-- suitable for their output mechanism. --> <!-- <output-format> --> <!-- Date format will effect parameter {1} in <Format> --> <!-- A string acceptable in the java.text.SimpleDateFormat --> <!-- constructor. --> <!-- <date-format>yyyy-MM-dd HH:mm:ss</date-format> --> <!-- For all log formats, this will be the args. --> <!-- Feel free to include or exclude all fields... --> <!-- Example: - I don't care about thread or log name: --> <!-- "[{0}-{1}:{3}]" --> <!-- {0} - Type --> <!-- {1} - formatted date --> <!-- {2} - ThreadName --> <!-- {3} - Message --> <!-- {4} - LogName - The log of origin for the event. --> <!-- <format>[{0} ({4}): {3}]</format> --> <!-- </output-format> --> <!-- <consumers> --> <!-- Outputs log messages to the ServletContext log. No --> <!-- matter how many times this consumer appears here, only --> <!-- one instance may ever be created for any web --> <!-- application. --> <!-- <consumer class="com.nexaweb.server.log.WebApplicationLogConsumer" /> --> <!-- Outputs log messages to the console. No matter how --> <!-- many times this consumer appears, there will be only --> <!-- one instance created per web application. --> <!-- <consumer class="com.nexaweb.server.log.ConsoleLogConsumer" /> --> <!-- The EmailLogConsumer can send Email messages via SMTP --> <!-- when log messages arrive. --> <!-- <consumer class="com.nexaweb.server.log.EmailLogConsumer"> --> <!-- The level is one of four values: --> <!-- debug, info, error or exception --> <!-- --> <!-- If debug is specified, all messages of all types will --> <!-- be sent. If info is specified, only debug messages --> <!-- will not be sent. If error is specified, only error --> <!-- and exception messages will be sent. Finally, if --> <!-- exception is specified, only exception messages will --> <!-- be sent. --> <!-- --> <!-- Note that this is what the consumer will mail out, if --> <!-- the Logger isn't sending debug messages, setting this --> <!-- level to debug won't result in the emailing of debug --> <!-- messages, as they are never sent to the consumer. --> <!-- <mail-level>error</mail-level> --> <!-- The following are properties to pass to the --> <!-- javax.mail.Session.getInstance() method. See the --> <!-- javadocs for more details on what these properties --> <!-- are for. --> <!-- <properties> <property name="mail.transport.protocol" value="smtp" /> </properties> --> <!-- The name and email address to place in the "from" --> <!-- address of outbound emails. --> <!-- <from-name>Nexaweb Administrator</from-name> --> <!-- <from-address>application@yourcompany.com</from-address> --> <!-- This element specifies a recipient for the email sent.--> <!-- This element may appear multiple times if more than --> <!-- one recipient is desired. --> <!-- <recipient>administrator@yourcompany.com</recipient> --> <!-- The host name or IP address of the mail server. This --> <!-- property is Required. --> <!-- <mail-host>itsupport.nexaweb.com</mail-host> --> <!-- The username and password to use for the SMTP server. --> <!-- These may be omitted if not required by the server. --> <!-- <mail-username>lagavulin@Nexaweb</mail-username> --> <!-- <mail-password>your-password</mail-password> --> <!-- The mime type of the email body. The recommended --> <!-- types are "text/plain" and "text/html". --> <!-- <mime-type>text/html</mime-type> --> <!-- The subject line of the email. You may use all the --> <!-- fields specified as available for the OutputFormat --> <!-- in this subject line. --> <!-- {0} - Type --> <!-- {1} - formatted date --> <!-- {2} - ThreadName --> <!-- {3} - Message --> <!-- {4} - LogName - The log of origin for the event. --> <!-- <mail-subject-format>{0} - Nexaweb Log Message</mail-subject-format> --> <!-- The "MessageFormat" is the body of the email. The --> <!-- fields are the same as the fields for the output --> <!-- format above. --> <!-- {0} - Type --> <!-- {1} - formatted date --> <!-- {2} - ThreadName --> <!-- {3} - Message --> <!-- {4} - LogName - The log of origin for the event. --> <!-- <mail-message-format><![CDATA[ <html> <head> <title>{0} - Nexaweb Log Message</title> </head> <body style="font-size:10pt;font-family:Arial,sans-serif;"> <table cellpadding="2" cellspacing="0" border="0" width="100%" > <tr bgcolor="#000066"> <td width="1%" nowrap="yes"> <font style="font-style:italic;font-size:14pt;font-weight:bold;font-family:Arial,sans-serif;color:#FFFFFF">Nexaweb Log Message</font> </td> <td> </td> <td width="1%" nowrap="yes" align="right"> <font style="font-style:italic;letter-spacing:0.4em;font-size:14pt;font-weight:bold;font-family:Arial,sans-serif;color:#FFFFFF">{0}</font> </td> </tr> </table> <p/> <b>Log:</b> {4}<br/> <b>Thread:</b> {2}<br/> <b>Timestamp:</b> {1}<p/> <table cellpadding="2" cellspacing="0" border="1" width="100%"> <tr> <td align="left"> <pre> {3}</pre> </td> </tr> </table> </body> </html> ]]></mail-message-format> </consumer> --> <!-- </consumers> --> <!-- The following syntax allows you to adjust the level --> <!-- of logging for each individual named log. --> <!-- <log name="LOG_NAME" log-level="debug" /> --> <!-- </log-configuration> --> <!-- =================================================================== --> <!-- Printing Configuration. --> <!-- =================================================================== --> <printing-configuration> <fo-renderer class="com.nexaweb.common.printing.fop.FopProcessor" /> <printed-document-time-to-live>30 sec</printed-document-time-to-live> <preprocess-nxml>true</preprocess-nxml> <nxml-to-fo-stylesheet>/Nexaweb/stylesheets/printing/main.xsl</nxml-to-fo-stylesheet> </printing-configuration> <!-- ============================================================================== --> <!-- ResourcePool Configuration (ThreadPools, etc.) --> <!-- ============================================================================== --> <!-- The following is the configuration of ResourcePools in use --> <!-- throughout Nexaweb Server. --> <!-- --> <!-- All pools are named and their configuration values will be --> <!-- taken from the <ResourcePool name="NAME"> element with the --> <!-- correct name. --> <resource-pools> <resource-pool name="DefaultThreadPool" > <pool-configuration> <!-- The maximum size that to which the pool is allowed --> <!-- to grow. Leave this empty for no maximum size. --> <maximum-size>50</maximum-size> <!-- The minimum size that to which the pool is allowed --> <!-- to shrink. This number of resources will be --> <!-- created when the pool is initialized. If a fixed --> <!-- pool size is desired, set the MaximumSize and the --> <!-- MinimumSize to the same value. A value of 0 will --> <!-- result in no resources created at initialization --> <!-- and no minimum size. --> <minimum-size>2</minimum-size> <!-- The interval at which the ResourcePool will make --> <!-- size adjustments downward. Note that resources --> <!-- are created on demand, this only applies to the --> <!-- reaping of resources in the pool when they go --> <!-- unused. --> <adjustment-interval>60 sec</adjustment-interval> <!-- This is the percentage of the ResourcePool's --> <!-- unused resources that will be destroyed at the --> <!-- end of adjustment intervals. The number of --> <!-- resources destroyed will never take the pool below --> <!-- the specified minimum size. --> <shrink-percentage>15%</shrink-percentage> <!-- ResourcePools may keep a history of their use for --> <!-- over each AdjustmentInterval. These statistics --> <!-- may be viewed through the management console or in --> <!-- the log if the ResourcePool is configured to --> <!-- LogStatisticsAtIntevals. This value is the number --> <!-- of intervals to keep a history on. As new --> <!-- statistics are created for an interval, the --> <!-- oldest statistics are dropped. --> <history-size>3</history-size> <!-- If this value is true, the ResourcePool will log --> <!-- it's statistics at the end of each adjustment --> <!-- interval. --> <log-statistics-at-intevals>false</log-statistics-at-intevals> </pool-configuration> </resource-pool> <resource-pool name="MessagingThreadPool" > <pool-configuration> <!-- The maximum size that to which the pool is allowed --> <!-- to grow. Leave this empty for no maximum size. --> <maximum-size>100</maximum-size> <!-- The minimum size that to which the pool is allowed --> <!-- to shrink. This number of resources will be --> <!-- created when the pool is initialized. If a fixed --> <!-- pool size is desired, set the MaximumSize and the --> <!-- MinimumSize to the same value. A value of 0 will --> <!-- result in no resources created at initialization --> <!-- and no minimum size. --> <minimum-size>0</minimum-size> <!-- The interval at which the ResourcePool will make --> <!-- size adjustments downward. Note that resources --> <!-- are created on demand, this only applies to the --> <!-- reaping of resources in the pool when they go --> <!-- unused. --> <adjustment-interval>60 sec</adjustment-interval> <!-- This is the percentage of the ResourcePool's --> <!-- unused resources that will be destroyed at the --> <!-- end of adjustment intervals. The number of --> <!-- resources destroyed will never take the pool below --> <!-- the specified minimum size. --> <shrink-percentage>15%</shrink-percentage> <!-- ResourcePools may keep a history of their use for --> <!-- over each AdjustmentInterval. These statistics --> <!-- may be viewed through the management console or in --> <!-- the log if the ResourcePool is configured to --> <!-- LogStatisticsAtIntevals. This value is the number --> <!-- of intervals to keep a history on. As new --> <!-- statistics are created for an interval, the --> <!-- oldest statistics are dropped. --> <history-size>3</history-size> <!-- If this value is true, the ResourcePool will log --> <!-- it's statistics at the end of each adjustment --> <!-- interval. --> <log-statistics-at-intevals>false</log-statistics-at-intevals> </pool-configuration> </resource-pool> <resource-pool name="NioByteBufferPool(1K)" > <pool-configuration> <!-- This is 1 MB of memory (1024 * 1024 == 1 MB) --> <maximum-size>1024</maximum-size> <minimum-size>0</minimum-size> <adjustment-interval>60 sec</adjustment-interval> <shrink-percentage>15%</shrink-percentage> <history-size>3</history-size> <log-statistics-at-intevals>false</log-statistics-at-intevals> <!-- For each byte buffer pool, there is a buffer size. --> <byte-buffer-size>1K</byte-buffer-size> <allocate-direct>false</allocate-direct> </pool-configuration> </resource-pool> <resource-pool name="NioByteBufferPool(16K)" > <pool-configuration> <!-- This is 16 MB of memory (16 * 1024 * 1024 == 16 MB) --> <maximum-size>1024</maximum-size> <minimum-size>0</minimum-size> <adjustment-interval>30 sec</adjustment-interval> <shrink-percentage>10%</shrink-percentage> <history-size>3</history-size> <log-statistics-at-intevals>false</log-statistics-at-intevals> <!-- For each byte buffer pool, there is a buffer size. --> <byte-buffer-size>16K</byte-buffer-size> <allocate-direct>true</allocate-direct> </pool-configuration> </resource-pool> <resource-pool name="NioByteBufferPool(64K)" > <pool-configuration> <!-- This is 64 MB of memory (64 * 1024 * 1024 == 64 MB) --> <maximum-size>1024</maximum-size> <minimum-size>0</minimum-size> <adjustment-interval>30 sec</adjustment-interval> <shrink-percentage>10%</shrink-percentage> <history-size>3</history-size> <log-statistics-at-intevals>false</log-statistics-at-intevals> <!-- For each byte buffer pool, there is a buffer size. --> <byte-buffer-size>64K</byte-buffer-size> <allocate-direct>true</allocate-direct> </pool-configuration> </resource-pool> <resource-pool name="CharBufferPool(1K)" > <pool-configuration> <maximum-size>1024</maximum-size> <minimum-size>0</minimum-size> <adjustment-interval>30 sec</adjustment-interval> <shrink-percentage>10%</shrink-percentage> <history-size>0</history-size> <log-statistics-at-intevals>false</log-statistics-at-intevals> <char-buffer-size>1K</char-buffer-size> </pool-configuration> </resource-pool> <resource-pool name="CharBufferPool(16K)" > <pool-configuration> <maximum-size>1024</maximum-size> <minimum-size>0</minimum-size> <adjustment-interval>30 sec</adjustment-interval> <shrink-percentage>10%</shrink-percentage> <history-size>0</history-size> <log-statistics-at-intevals>false</log-statistics-at-intevals> <char-buffer-size>16K</char-buffer-size> </pool-configuration> </resource-pool> <resource-pool name="CharBufferPool(64K)" > <pool-configuration> <maximum-size>1024</maximum-size> <minimum-size>0</minimum-size> <adjustment-interval>30 sec</adjustment-interval> <shrink-percentage>10%</shrink-percentage> <history-size>0</history-size> <log-statistics-at-intevals>false</log-statistics-at-intevals> <char-buffer-size>64K</char-buffer-size> </pool-configuration> </resource-pool> <resource-pool name="ByteBufferPool(1K)" > <pool-configuration> <!-- This is 1 MB of memory (1024 * 1024 == 1 MB) --> <maximum-size>1024</maximum-size> <minimum-size>0</minimum-size> <adjustment-interval>60 sec</adjustment-interval> <shrink-percentage>15%</shrink-percentage> <history-size>3</history-size> <log-statistics-at-intevals>false</log-statistics-at-intevals> <!-- For each byte buffer pool, there is a buffer size. --> <byte-buffer-size>1K</byte-buffer-size> </pool-configuration> </resource-pool> <resource-pool name="ByteBufferPool(16K)" > <pool-configuration> <!-- This is 16 MB of memory (16 * 1024 * 1024 == 16 MB) --> <maximum-size>1024</maximum-size> <minimum-size>0</minimum-size> <adjustment-interval>30 sec</adjustment-interval> <shrink-percentage>10%</shrink-percentage> <history-size>3</history-size> <log-statistics-at-intevals>false</log-statistics-at-intevals> <!-- For each byte buffer pool, there is a buffer size. --> <byte-buffer-size>16K</byte-buffer-size> </pool-configuration> </resource-pool> <resource-pool name="ByteBufferPool(64K)" > <pool-configuration> <!-- This is 64 MB of memory (64 * 1024 * 1024 == 64 MB) --> <maximum-size>1024</maximum-size> <minimum-size>0</minimum-size> <adjustment-interval>30 sec</adjustment-interval> <shrink-percentage>10%</shrink-percentage> <history-size>3</history-size> <log-statistics-at-intevals>false</log-statistics-at-intevals> <!-- For each byte buffer pool, there is a buffer size. --> <byte-buffer-size>64K</byte-buffer-size> </pool-configuration> </resource-pool> </resource-pools> <!-- ================================================================================= --> <!-- Clustering Configuration --> <!-- ================================================================================= --> <!-- The following section contains configuration parameters related to Nexaweb --> <!-- Server clustering. Setting 'enabled=true' in the 'clustering' element below --> <!-- will make this instance of Nexaweb Server be part of a cluster. However none --> <!-- of the backup functionality usually associated with clustering will get turned --> <!-- on unless the 'failover' attribute is also set to 'true'. Setting 'failover=true' --> <!-- will enable backup assignment for the local sessions created on this server --> <!-- instance and will also allow this server instance to serve as a backup node for --> <!-- other nodes in the cluster. You can not set failover=true without setting --> <!-- enabled=true as well. --> <!-- --> <!-- When run in a clustered environment each application instance (which corresponds --> <!-- one-to-one to a Nexaweb Server instance) has a unique address that uniquely --> <!-- identifies it and is used as a messaging destination for inter-server --> <!-- communication. The address has the following format: --> <!-- <domain>.<cluster>.<server>.<application> --> <!-- In order to be considered part of the same cluster all instances of your --> <!-- application have to have the same domain and cluster names. In addition the --> <!-- server name has to be unique across physical machines+JVM instances running on --> <!-- the same machine and the application name has to be the same for all instances of --> <!-- the same application. --> <!-- --> <!-- If you have multiple web applications deployed you have to make sure that each of --> <!-- them has a unique application name. Failure to do so will lead to erroneous --> <!-- behaviour. --> <!-- --> <!-- There is a number of ways in which you can partition your cluster into multiple --> <!-- subclusters. For example specifying a different domain and/or cluster name would --> <!-- accomplish that. --> <clustering enabled="false" failover="false"> <!-- The Nexaweb messaging Domain in which this server lives. --> <!-- When this value is not supplied, the machine's localhost --> <!-- address is used. This avoids collisions and versioning --> <!-- problems in a developer environment while allowing --> <!-- developers to run a cluster on their own machine. --> <!-- --> <!-- Since this string is included on every message sent, for --> <!-- performance reasons it should be as short as possible. --> <!-- --> <!-- Developers will most likely wish to comment this out during --> <!-- development to avoid collisions between developer's personal --> <!-- clustered environments. --> <domain>DOM</domain> <!-- The Cluster in which this server resides. --> <!-- You do not need to change this value unless you wish to --> <!-- segment your cluster. --> <cluster>CLUS</cluster> <!-- A unique identifier for this server + JVM instance. --> <!-- --> <!-- Important! This value has to be unique on each server instance --> <!-- that belongs to the same cluster. You should leave this element --> <!-- commented out so that a unique identifier can get generated and --> <!-- used. --> <!-- If you do specify it here, after you deploy your application --> <!-- you will need to manually change this value on each server --> <!-- instance to make it unique and then restart the cluster. --> <!-- NOTE: not all application servers will allow modifying a local --> <!-- copy of an application after it has been deployed in a cluster --> <!-- so once again, leave this value commented out. --> <!-- <server>SERVER</server> --> <!-- If you're application may ever be deployed in a clustered environment --> <!-- alongside other Nexaweb applications, you must provide a name for your --> <!-- application that will be unique across the cluster. --> <!-- --> <!-- The value must be alpha-numeric with no punctuation, although hyphen --> <!-- characters are allowed. --> <!-- --> <!-- This value is used to identify which application sent messages across --> <!-- the messaging bus. Shorter values will reduce traffic. --> <application>APP</application> </clustering> <!-- ================================================================================= --> <!-- Messaging Implementation Configuration --> <!-- ================================================================================= --> <messaging> <!-- The default messaging implementation for Nexaweb is Continuum - in-house --> <!-- built messaging solution based on UDP. Customers familiar and comfortable --> <!-- with JMS may wish to use the application server's JMS implementation. --> <!-- See Nexaweb's clustering documentation for more information. --> <default-factory-implementation class="com.nexaweb.server.messaging.continuum.ContinuumMessagingFactory" /> <!-- <default-factory-implementation class="com.nexaweb.server.messaging.jms.JMSMessagingFactory" /> --> </messaging> <!-- ============================================================================== --> <!-- JMS Configuration (Modify this ONLY if you are using your own JMS provider) --> <!-- ============================================================================== --> <!-- JMS configuration is used to configure JMS Messaging Factory instances. --> <!-- You can have multiple JMS configuration sections in your config (just --> <!-- specify a unique name attribute for each of them). Different JMS factory --> <!-- instances can use the same JMS configuration section or different ones. --> <jms name="jms-config1"> <jndi> <!-- JNDI name for the JMS connection factory. This is the full name --> <!-- that will be used to lookup the connection factory in the JNDI. --> <connection-factory-jndi-name>jms/NexawebConnectionFactory</connection-factory-jndi-name> <!-- JNDI name for the destination used by the message producer --> <!-- and consumer. --> <destination-jndi-name>jms/NexawebTopic</destination-jndi-name> <!-- Initial context jndi environment. These parameters will be passed --> <!-- in when creating the initial JNDI context. --> <initial-context-environment> <!-- <param name="ParamName" value="ParamValue" /> --> </initial-context-environment> </jndi> <connection> <!-- If you want to use a durable subscription each JMS client has to be --> <!-- associated with a unique client id. Usually this id is configured --> <!-- through the administration console. If your JMS provider does not have --> <!-- a way to set it administratively the JMS API has a method to do that. --> <!-- However you should be aware that the J2EE specification prohibits --> <!-- using this method and any J2EE compliant container will throw an --> <!-- IllegalStateException. Nexaweb will attempt to set the provided value --> <!-- as the client id. If the value is not specified and the id is not set --> <!-- Nexaweb will generate a GUID and attempt to set it as the client id. --> <!-- <client-id>jms-instance1-clientid</client-id> --> </connection> <session> <transacted>false</transacted> <!-- Session acknowledge mode. You can use the fully qualified way as --> <!-- shown below or specify a simple int value in the range allowed by --> <!-- the JMS API. --> <acknowledge-mode>javax.jms.Session.AUTO_ACKNOWLEDGE</acknowledge-mode> </session> <message-producer> <!-- Delivery mode for the message producer. You can use the fully --> <!-- qualified way as shown below or specify a simple int value --> <!-- in the range allowed by the JMS API --> <delivery-mode>javax.jms.DeliveryMode.NON_PERSISTENT</delivery-mode> <!-- Priority for the message delivery. You can use the fully --> <!-- qualified way as shown below or specify a simple int value --> <!-- in the range allowed by the JMS API --> <priority>javax.jms.Message.DEFAULT_PRIORITY</priority> <!-- Message time-to-live. You can use the fully qualified way as --> <!-- shown below or specify a long value ( number of milliseconds ) --> <time-to-live>javax.jms.Message.DEFAULT_TIME_TO_LIVE</time-to-live> <!-- Whether message ids are disabled for the JMS messages --> <disable-message-id>false</disable-message-id> <!-- Whether message timestamps are disabled for the JMS messages --> <disable-message-timestamp>false</disable-message-timestamp> </message-producer> <!-- When TopicConnectionFactory is used you can choose to use a durable --> <!-- subscriber which has to be configured through the JMS administration --> <!-- console and you would need to uncomment the block below. By default --> <!-- a non durable subscriber is created. --> <subscriber> <durable>false</durable> <!-- <subscription-name>MySubscription</subscription-name> --> </subscriber> </jms> <!-- ============================================================================== --> <!-- RequestProxyService Configuration --> <!-- ============================================================================== --> <!-- The RequestProxyService is responsible for proxying requests to fully --> <!-- qualified URLs. Due to applet security restrictions, the client may only --> <!-- make requests to the server that served the applet code. Therefore, in --> <!-- order to provide the same functionality that HTML provides, the server --> <!-- needs to provide proxying to remote servers. --> <!-- --> <!-- When requests are forwarded, it is important not to propagate headers --> <!-- in either direction that are pertinent only to one side of the --> <!-- request/response transaction. For instance, "Transfer-Encoding" should --> <!-- not be propagated from one request to the other or one response to the --> <!-- other. The list of headers that are NOT propagated in either direction --> <!-- is specified here. The case of the headers is ignored. --> <request-proxy-service> <transfer-buffer-size>32K</transfer-buffer-size> <!-- The case of all headers is ignored. --> <excluded-request-headers> <header>cookie</header> <header>transfer-encoding</header> <header>host</header> <header>accept-encoding</header> </excluded-request-headers> <!-- The case of all headers is ignored. --> <excluded-response-headers> <header>transfer-encoding</header> </excluded-response-headers> </request-proxy-service> <!-- ============================================================================== --> <!-- Protocol Queue Configuration --> <!-- ============================================================================== --> <!-- There are several queues in use for holding messages and commands --> <!-- bound for clients. When a client doesn't reconnect for a long --> <!-- period of time, the queues could grow to the point where the --> <!-- server may run out of memory. In order to avoid these conditions,--> <!-- the queues may be configured to hav a maximum size. When the --> <!-- is a maximum size is reached, messages must be dropped. --> <!-- --> <!-- The queues all support the same attributes: --> <!-- --> <!-- - "size" --> <!-- The size (number of messages) that will be --> <!-- allowed in the queue before it is considered --> <!-- full. Any non-numeric value will result in --> <!-- the queue having no maximum size. --> <!-- - "whenFullDrop" (optional, "newest"|"oldest" default: oldest) --> <!-- Determines which end of the queue messages --> <!-- will be dropped from when the queue is full. --> <!-- valid values are "oldest" and "newest". --> <!-- - "logEveryNthDropped" (optional) --> <!-- Instead of logging every message dropped, --> <!-- (this could produce a great deal of output), --> <!-- set the number of messages that must be --> <!-- dropped between log events. --> <protocol-queues> <!-- This is the queue that contains DOM changes bound for the --> <!-- client. There is an instance of this queue for each DOM --> <!-- that exists. So they are sized per document. Dropping --> <!-- changes here can cause future changes to be invalid which --> <!-- will result in errors. --> <dom-changes size="NO_MAX" /> <!-- This is the queue of messages sent via the messaging bus. --> <!-- Using MessagingService or NetService, publish() and send() --> <!-- methods. --> <messaging-queue size="1000" whenFullDrop="oldest" logEveryNthDropped="10" /> <!-- This is the queue of Nexaweb protocol commands that must --> <!-- preceed DOM changes. Changing this queue's properties is --> <!-- not recommended. --> <pre-dom-change-commands size="NO_MAX" /> <!-- This is the queue of Nexaweb protocol commands that must --> <!-- come after DOM changes. Changing this queue's properties --> <!-- is not recommended. --> <post-dom-change-commands size="NO_MAX" /> <!-- This is the queue of nack-ack messages and resends. --> <!-- Changing this queue's properties is not recommended. --> <reliable-messaging-protocol-support size="NO_MAX" /> </protocol-queues> <!-- For inbound requests to the server, this value indicates --> <!-- how long the server processor should wait for data from --> <!-- a client before aborting the DOM absorption processor --> <request-timeout>5 sec</request-timeout> <!-- If a cookie is used to send Nexaweb session id , you can mark --> <!-- cookie secure with this parameter. When the value is true, it will--> <!-- set secure flag in the cookie --> <!-- <secure-session-cookie>true</secure-session-cookie> --> <!-- Use the following if you want the client to wait until the server --> <!-- completes Server DOM processing request (make it synchronous). --> <!-- Default is asynchronous processing which allows the client not --> <!-- to wait for the server to complete absorbing Server DOM stream. --> <!-- <output-stream-wrapper waitForServerToCompleteProcessing="false"/> --> </server> <!-- ================================================================================== --> <!-- --> <!-- --> <!-- String --> <!-- - Free form or specified in the documentation for the value. --> <!-- --> <!-- integer --> <!-- - Any numeric value parsable by Long.parseLong() --> <!-- --> <!-- floating point --> <!-- - Any numeric value parsable by Double.parseDouble() --> <!-- --> <!-- boolean --> <!-- - Any value that begins with the uppercase or lowercase letter 't' will be --> <!-- treated as boolean true, all other values are considered false. --> <!-- --> <!-- time interval --> <!-- - Time intervals are an integer value followed by a suffix indicating the --> <!-- units. Supported suffixes follow: --> <!-- --> <!-- Suffixes for milliseconds --> <!-- - ms --> <!-- - msec --> <!-- - msecs --> <!-- - millis --> <!-- - milliseconds --> <!-- Suffixes for seconds --> <!-- - s --> <!-- - sec --> <!-- - seconds --> <!-- Suffixes for minutes --> <!-- - m --> <!-- - min --> <!-- - minutes --> <!-- Suffixes for hours --> <!-- - h --> <!-- - hr --> <!-- - hrs --> <!-- - hours --> <!-- Suffixes for days --> <!-- - d --> <!-- - days --> <!-- Suffixes for months --> <!-- - mon --> <!-- - months --> <!-- Suffixes for years --> <!-- - y --> <!-- - yr --> <!-- - yrs --> <!-- - years --> <!-- --> <!-- percentages --> <!-- - Percentages are a double value with an optional suffix for readability. --> <!-- Examples of values with supported suffixes and the resulting values follow: --> <!-- --> <!-- Value - Result --> <!-- - - - - - - - - - - - - - --> <!-- 15 - 15% --> <!-- 0.15 - 0.15% --> <!-- 0.15D - 15% --> <!-- 15% - 15% --> <!-- 15 perc - 15% --> <!-- 15 perc. - 15% --> <!-- 15 percent - 15% --> <!-- 15 percent. - 15% --> <!-- --> <!-- ================================================================================== -->