back to nexaweb
search
Close source view

  1. <!-- ================================================================================== -->
  2. <!-- Nexaweb Server Configuration                                                       -->
  3. <!-- ================================================================================== -->
  4. <!--                                                                                    -->
  5. <!-- Nexaweb Server has configuration values of several types:                          -->
  6. <!--                                                                                    -->
  7. <!--           String                                                                   -->
  8. <!--           integer (in the math sense, not the Java sense)                          -->
  9. <!--           floating point                                                           -->
  10. <!--           boolean                                                                  -->
  11. <!--           time interval                                                            -->
  12. <!--           percentage                                                               -->
  13. <!--                                                                                    -->
  14. <!-- For each of these types, there are acceptable formats.                             -->
  15. <!--                                                                                    -->
  16. <!-- See the comments at the end of this file for more information on the allowable     -->
  17. <!-- formats for each type.                                                             -->
  18. <!--                                                                                    -->
  19. <!-- ================================================================================== -->
  20. <server>
  21.  
  22.  
  23.     <!-- ============================================================================== -->
  24.     <!-- Logging Configuration                                                          -->
  25.     <!-- ============================================================================== -->
  26.  
  27.  
  28.     <!-- Valid levels for log are:                                      -->
  29.     <!--          "debug", "info", "error" & "exception"                -->
  30. <!--     <log-configuration default-log-level="info">
  31. -->
  32.     <!-- Note that the following is the default format, but that    -->
  33.     <!-- any Individual LogConsumer may choose to format messages   -->
  34.     <!-- suitable for their output mechanism.                       -->
  35. <!--    <output-format>
  36. -->
  37.         <!-- Date format will effect parameter {1} in <Format>
  38.      -->
  39.         <!-- A string acceptable in the java.text.SimpleDateFormat  -->
  40.         <!-- constructor.                                           -->
  41. <!--        <date-format>
  42. yyyy-MM-dd HH:mm:ss</date-format> -->
  43.         <!--  For all log formats, this will be the args.           -->
  44.         <!--  Feel free to include or exclude all fields...         -->
  45.         <!--     Example: - I don't care about thread or log name:  -->
  46.         <!--             "[{0}-{1}:{3}]"                            -->
  47.         <!--      {0} - Type                                        -->
  48.         <!--      {1} - formatted date                              -->
  49.         <!--      {2} - ThreadName                                  -->
  50.         <!--      {3} - Message                                     -->
  51.         <!--      {4} - LogName  - The log of origin for the event. -->
  52. <!--        <format>
  53. [{0} ({4}): {3}]</format> -->
  54. <!--    </output-format>
  55. -->
  56. <!--    <consumers>
  57. -->
  58.         <!-- Outputs log messages to the ServletContext log. No     -->
  59.         <!-- matter how many times this consumer appears here, only -->
  60.         <!-- one instance may ever be created for any web           -->
  61.         <!-- application.                                           -->
  62. <!--        <consumer class="com.nexaweb.server.log.WebApplicationLogConsumer" />
  63. -->
  64.  
  65.  
  66.         <!-- Outputs log messages to the console.  No matter how    -->
  67.         <!-- many times this consumer appears, there will be only   -->
  68.         <!-- one instance created per web application.              -->
  69.  
  70.         <!-- <consumer class="com.nexaweb.server.log.ConsoleLogConsumer" />
  71. -->
  72.  
  73.  
  74.         <!-- The EmailLogConsumer can send Email messages via SMTP  -->
  75.         <!-- when log messages arrive.                              -->
  76.  
  77.             <!-- <consumer class="com.nexaweb.server.log.EmailLogConsumer">
  78. -->
  79.  
  80.         <!-- The level is one of four values:                      -->
  81.         <!--      debug, info, error or exception                  -->
  82.         <!--                                                       -->
  83.         <!-- If debug is specified, all messages of all types will -->
  84.         <!-- be sent.  If info is specified, only debug messages   -->
  85.         <!-- will not be sent.  If error is specified, only error  -->
  86.         <!-- and exception messages will be sent.  Finally, if     -->
  87.         <!-- exception is specified, only exception messages will  -->
  88.         <!-- be sent.                                              -->
  89.         <!--                                                       -->
  90.         <!-- Note that this is what the consumer will mail out, if -->
  91.         <!-- the Logger isn't sending debug messages, setting this -->
  92.         <!-- level to debug won't result in the emailing of debug  -->
  93.         <!-- messages, as they are never sent to the consumer.     -->
  94.  
  95.             <!-- <mail-level>
  96. error</mail-level> -->
  97.  
  98.  
  99.         <!-- The following are properties to pass to the           -->
  100.         <!-- javax.mail.Session.getInstance() method.  See the     -->
  101.         <!-- javadocs for more details on what these properties    -->
  102.         <!-- are for.                                              -->
  103.  
  104.         <!--
  105.         <properties>
  106.             <property name="mail.transport.protocol" value="smtp" />
  107.         </properties>
  108.                 -->
  109.  
  110.  
  111.         <!-- The name and email address to place in the "from"     -->
  112.         <!-- address of outbound emails.                           -->
  113.  
  114.         <!-- <from-name>
  115. Nexaweb Administrator</from-name> -->
  116.         <!-- <from-address>
  117. application@yourcompany.com</from-address> -->
  118.  
  119.  
  120.  
  121.         <!-- This element specifies a recipient for the email sent.-->
  122.         <!-- This element may appear multiple times if more than   -->
  123.         <!-- one recipient is desired.                             -->
  124.  
  125.         <!-- <recipient>
  126. administrator@yourcompany.com</recipient> -->
  127.  
  128.         <!-- The host name or IP address of the mail server. This  -->
  129.         <!-- property is Required.                                 -->
  130.  
  131.         <!-- <mail-host>
  132. itsupport.nexaweb.com</mail-host> -->
  133.  
  134.  
  135.         <!-- The username and password to use for the SMTP server. -->
  136.         <!-- These may be omitted if not required by the server.   -->
  137.  
  138.         <!-- <mail-username>
  139. lagavulin@Nexaweb</mail-username> -->
  140.         <!-- <mail-password>
  141. your-password</mail-password> -->
  142.  
  143.  
  144.  
  145.         <!-- The mime type of the email body.  The recommended     -->
  146.         <!-- types are "text/plain" and "text/html".               -->
  147.  
  148.         <!-- <mime-type>
  149. text/html</mime-type> -->
  150.  
  151.  
  152.         <!-- The subject line of the email. You may use all the    -->
  153.         <!-- fields specified as available for the OutputFormat    -->
  154.         <!-- in this subject line.                                 -->
  155.         <!--      {0} - Type                                       -->
  156.         <!--      {1} - formatted date                             -->
  157.         <!--      {2} - ThreadName                                 -->
  158.         <!--      {3} - Message                                    -->
  159.         <!--      {4} - LogName - The log of origin for the event. -->
  160.  
  161.         <!-- <mail-subject-format>
  162. {0} - Nexaweb Log Message</mail-subject-format> -->
  163.  
  164.  
  165.         <!-- The "MessageFormat" is the body of the email.  The    -->
  166.         <!-- fields are the same as the fields for the output      -->
  167.         <!-- format above.                                         -->
  168.         <!--      {0} - Type                                       -->
  169.         <!--      {1} - formatted date                             -->
  170.         <!--      {2} - ThreadName                                 -->
  171.         <!--      {3} - Message                                    -->
  172.         <!--      {4} - LogName - The log of origin for the event. -->
  173.  
  174.             <!--
  175.         <mail-message-format>
  176. <![CDATA[
  177.             <html>
  178.             <head>
  179.                 <title>{0} - Nexaweb Log Message</title>
  180.             </head>
  181.             <body style="font-size:10pt;font-family:Arial,sans-serif;">
  182.                 <table cellpadding="2" cellspacing="0" border="0" width="100%" >
  183.                 <tr bgcolor="#000066">
  184.                     <td width="1%" nowrap="yes">
  185.                     <font style="font-style:italic;font-size:14pt;font-weight:bold;font-family:Arial,sans-serif;color:#FFFFFF">Nexaweb Log Message</font>
  186.                     </td>
  187.                     <td>&nbsp;</td>
  188.                     <td width="1%" nowrap="yes" align="right">
  189.                     <font style="font-style:italic;letter-spacing:0.4em;font-size:14pt;font-weight:bold;font-family:Arial,sans-serif;color:#FFFFFF">{0}</font>
  190.                     </td>
  191.                 </tr>
  192.                 </table>
  193.                 <p/>
  194.                 <b>Log:</b> {4}<br/>
  195.                 <b>Thread:</b> {2}<br/>
  196.                 <b>Timestamp:</b> {1}<p/>
  197.                 <table cellpadding="2" cellspacing="0" border="1" width="100%">
  198.                 <tr>
  199.                     <td align="left">
  200.                     <pre>
  201. {3}</pre>
  202.                     </td>
  203.                 </tr>
  204.                 </table>
  205.             </body>
  206.             </html>
  207.         ]]></mail-message-format>
  208.         </consumer>
  209.         -->
  210. <!--    </consumers>
  211. -->
  212.  
  213.     <!-- The following syntax allows you to adjust the level -->
  214.     <!-- of logging for each individual named log.           -->
  215.     <!-- <log name="LOG_NAME" log-level="debug" />
  216.           -->
  217.    
  218. <!--     </log-configuration>
  219. -->
  220.  
  221.     <!-- =================================================================== -->
  222.     <!-- Printing Configuration.                                             -->
  223.     <!-- =================================================================== -->
  224.     <printing-configuration>
  225.         <fo-renderer class="com.nexaweb.common.printing.fop.FopProcessor" />
  226.         <printed-document-time-to-live>30 sec</printed-document-time-to-live>
  227.         <preprocess-nxml>true</preprocess-nxml>
  228.         <nxml-to-fo-stylesheet>/Nexaweb/stylesheets/printing/main.xsl</nxml-to-fo-stylesheet>
  229.     </printing-configuration>
  230.  
  231.     <!-- ============================================================================== -->
  232.     <!-- ResourcePool Configuration (ThreadPools, etc.)                                 -->
  233.     <!-- ============================================================================== -->
  234.  
  235.     <!-- The following is the configuration of ResourcePools in use  -->
  236.     <!-- throughout Nexaweb Server.                                  -->
  237.     <!--                                                             -->
  238.     <!-- All pools are named and their configuration values will be  -->
  239.     <!-- taken from the <ResourcePool name="NAME">
  240. element with the  -->
  241.     <!-- correct name.                                               -->
  242.     <resource-pools>
  243.     <resource-pool name="DefaultThreadPool" >
  244.         <pool-configuration>
  245.         <!-- The maximum size that to which the pool is allowed -->
  246.         <!-- to grow.  Leave this empty for no maximum size.    -->
  247.         <maximum-size>50</maximum-size>
  248.         <!-- The minimum size that to which the pool is allowed -->
  249.         <!-- to shrink.  This number of resources will be       -->
  250.         <!-- created when the pool is initialized. If a fixed   --> 
  251.         <!-- pool size is desired, set the MaximumSize and the  -->
  252.         <!-- MinimumSize to the same value.  A value of 0 will  -->
  253.         <!-- result in no resources created at initialization   -->
  254.         <!-- and no minimum size.                               -->
  255.         <minimum-size>2</minimum-size>
  256.         <!-- The interval at which the ResourcePool will make   -->
  257.         <!-- size adjustments downward.  Note that resources    -->
  258.         <!-- are created on demand, this only applies to the    --> 
  259.         <!-- reaping of resources in the pool when they go      -->
  260.         <!-- unused.                                            -->
  261.         <adjustment-interval>60 sec</adjustment-interval>
  262.         <!-- This is the percentage of the ResourcePool's       -->
  263.         <!-- unused resources that will be destroyed at the     -->
  264.         <!-- end of adjustment intervals.  The number of        -->
  265.         <!-- resources destroyed will never take the pool below -->
  266.         <!-- the specified minimum size.                        -->
  267.         <shrink-percentage>15%</shrink-percentage>
  268.         <!-- ResourcePools may keep a history of their use for  -->
  269.         <!-- over each AdjustmentInterval.  These statistics    -->
  270.         <!-- may be viewed through the management console or in -->
  271.         <!-- the log if the ResourcePool is configured to       -->
  272.         <!-- LogStatisticsAtIntevals. This value is the number  -->
  273.         <!-- of intervals to keep a history on. As new          -->
  274.         <!-- statistics are created for an interval, the        -->
  275.         <!-- oldest statistics are dropped.                     -->
  276.         <history-size>3</history-size>
  277.         <!-- If this value is true, the ResourcePool will log   -->
  278.         <!-- it's statistics at the end of each adjustment      -->
  279.         <!-- interval.                                          -->
  280.         <log-statistics-at-intevals>false</log-statistics-at-intevals>
  281.         </pool-configuration>
  282.     </resource-pool>
  283.    
  284.     <resource-pool name="MessagingThreadPool" >
  285.         <pool-configuration>
  286.         <!-- The maximum size that to which the pool is allowed -->
  287.         <!-- to grow.  Leave this empty for no maximum size.    -->
  288.         <maximum-size>100</maximum-size>
  289.         <!-- The minimum size that to which the pool is allowed -->
  290.         <!-- to shrink.  This number of resources will be       -->
  291.         <!-- created when the pool is initialized. If a fixed   --> 
  292.         <!-- pool size is desired, set the MaximumSize and the  -->
  293.         <!-- MinimumSize to the same value.  A value of 0 will  -->
  294.         <!-- result in no resources created at initialization   -->
  295.         <!-- and no minimum size.                               -->
  296.         <minimum-size>0</minimum-size>
  297.         <!-- The interval at which the ResourcePool will make   -->
  298.         <!-- size adjustments downward.  Note that resources    -->
  299.         <!-- are created on demand, this only applies to the    --> 
  300.         <!-- reaping of resources in the pool when they go      -->
  301.         <!-- unused.                                            --> 
  302.         <adjustment-interval>60 sec</adjustment-interval>
  303.         <!-- This is the percentage of the ResourcePool's       -->
  304.         <!-- unused resources that will be destroyed at the     -->
  305.         <!-- end of adjustment intervals.  The number of        -->
  306.         <!-- resources destroyed will never take the pool below -->
  307.         <!-- the specified minimum size.                        -->
  308.         <shrink-percentage>15%</shrink-percentage>
  309.         <!-- ResourcePools may keep a history of their use for  -->
  310.         <!-- over each AdjustmentInterval.  These statistics    -->
  311.         <!-- may be viewed through the management console or in -->
  312.         <!-- the log if the ResourcePool is configured to       -->
  313.         <!-- LogStatisticsAtIntevals. This value is the number  -->
  314.         <!-- of intervals to keep a history on. As new          -->
  315.         <!-- statistics are created for an interval, the        -->
  316.         <!-- oldest statistics are dropped.                     -->
  317.         <history-size>3</history-size>
  318.         <!-- If this value is true, the ResourcePool will log   -->
  319.         <!-- it's statistics at the end of each adjustment      -->
  320.         <!-- interval.                                          -->
  321.         <log-statistics-at-intevals>false</log-statistics-at-intevals>
  322.         </pool-configuration>
  323.     </resource-pool>
  324.    
  325.     <resource-pool name="NioByteBufferPool(1K)" >
  326.         <pool-configuration>
  327.         <!-- This is 1 MB of memory (1024 * 1024 == 1 MB) -->
  328.         <maximum-size>1024</maximum-size>
  329.         <minimum-size>0</minimum-size>
  330.         <adjustment-interval>60 sec</adjustment-interval>
  331.         <shrink-percentage>15%</shrink-percentage>
  332.         <history-size>3</history-size>
  333.         <log-statistics-at-intevals>false</log-statistics-at-intevals>
  334.         <!-- For each byte buffer pool, there is a buffer size.  -->
  335.         <byte-buffer-size>1K</byte-buffer-size>
  336.         <allocate-direct>false</allocate-direct>
  337.         </pool-configuration>
  338.     </resource-pool>
  339.  
  340.     <resource-pool name="NioByteBufferPool(16K)" >
  341.         <pool-configuration>
  342.         <!-- This is 16 MB of memory (16 * 1024 * 1024 == 16 MB) -->
  343.         <maximum-size>1024</maximum-size>
  344.         <minimum-size>0</minimum-size>
  345.         <adjustment-interval>30 sec</adjustment-interval>
  346.         <shrink-percentage>10%</shrink-percentage>
  347.         <history-size>3</history-size>
  348.         <log-statistics-at-intevals>false</log-statistics-at-intevals>
  349.         <!-- For each byte buffer pool, there is a buffer size.  -->
  350.         <byte-buffer-size>16K</byte-buffer-size>
  351.         <allocate-direct>true</allocate-direct>
  352.         </pool-configuration>
  353.     </resource-pool>
  354.  
  355.     <resource-pool name="NioByteBufferPool(64K)" >
  356.         <pool-configuration>
  357.         <!-- This is 64 MB of memory (64 * 1024 * 1024 == 64 MB) -->
  358.         <maximum-size>1024</maximum-size>
  359.         <minimum-size>0</minimum-size>
  360.         <adjustment-interval>30 sec</adjustment-interval>
  361.         <shrink-percentage>10%</shrink-percentage>
  362.         <history-size>3</history-size>
  363.         <log-statistics-at-intevals>false</log-statistics-at-intevals>
  364.         <!-- For each byte buffer pool, there is a buffer size.  -->
  365.         <byte-buffer-size>64K</byte-buffer-size>
  366.         <allocate-direct>true</allocate-direct>
  367.         </pool-configuration>
  368.     </resource-pool>
  369.  
  370.     <resource-pool name="CharBufferPool(1K)" >
  371.             <pool-configuration>
  372.                 <maximum-size>1024</maximum-size>
  373.                 <minimum-size>0</minimum-size>
  374.                 <adjustment-interval>30 sec</adjustment-interval>
  375.                 <shrink-percentage>10%</shrink-percentage>
  376.                 <history-size>0</history-size>
  377.                 <log-statistics-at-intevals>false</log-statistics-at-intevals>
  378.                 <char-buffer-size>1K</char-buffer-size>
  379.             </pool-configuration>
  380.     </resource-pool>
  381.  
  382.     <resource-pool name="CharBufferPool(16K)" >
  383.             <pool-configuration>
  384.                 <maximum-size>1024</maximum-size>
  385.                 <minimum-size>0</minimum-size>
  386.                 <adjustment-interval>30 sec</adjustment-interval>
  387.                 <shrink-percentage>10%</shrink-percentage>
  388.                 <history-size>0</history-size>
  389.                 <log-statistics-at-intevals>false</log-statistics-at-intevals>
  390.                 <char-buffer-size>16K</char-buffer-size>
  391.             </pool-configuration>
  392.     </resource-pool>
  393.  
  394.     <resource-pool name="CharBufferPool(64K)" >
  395.             <pool-configuration>
  396.                 <maximum-size>1024</maximum-size>
  397.                 <minimum-size>0</minimum-size>
  398.                 <adjustment-interval>30 sec</adjustment-interval>
  399.                 <shrink-percentage>10%</shrink-percentage>
  400.                 <history-size>0</history-size>
  401.                 <log-statistics-at-intevals>false</log-statistics-at-intevals>
  402.                 <char-buffer-size>64K</char-buffer-size>
  403.             </pool-configuration>
  404.     </resource-pool>
  405.  
  406.     <resource-pool name="ByteBufferPool(1K)" >
  407.         <pool-configuration>
  408.         <!-- This is 1 MB of memory (1024 * 1024 == 1 MB) -->
  409.         <maximum-size>1024</maximum-size>
  410.         <minimum-size>0</minimum-size>
  411.         <adjustment-interval>60 sec</adjustment-interval>
  412.         <shrink-percentage>15%</shrink-percentage>
  413.         <history-size>3</history-size>
  414.         <log-statistics-at-intevals>false</log-statistics-at-intevals>
  415.         <!-- For each byte buffer pool, there is a buffer size.  -->
  416.         <byte-buffer-size>1K</byte-buffer-size>
  417.         </pool-configuration>
  418.     </resource-pool>
  419.  
  420.     <resource-pool name="ByteBufferPool(16K)" >
  421.         <pool-configuration>
  422.         <!-- This is 16 MB of memory (16 * 1024 * 1024 == 16 MB) -->
  423.         <maximum-size>1024</maximum-size>
  424.         <minimum-size>0</minimum-size>
  425.         <adjustment-interval>30 sec</adjustment-interval>
  426.         <shrink-percentage>10%</shrink-percentage>
  427.         <history-size>3</history-size>
  428.         <log-statistics-at-intevals>false</log-statistics-at-intevals>
  429.         <!-- For each byte buffer pool, there is a buffer size.  -->
  430.         <byte-buffer-size>16K</byte-buffer-size>
  431.         </pool-configuration>
  432.     </resource-pool>
  433.  
  434.     <resource-pool name="ByteBufferPool(64K)" >
  435.         <pool-configuration>
  436.         <!-- This is 64 MB of memory (64 * 1024 * 1024 == 64 MB) -->
  437.         <maximum-size>1024</maximum-size>
  438.         <minimum-size>0</minimum-size>
  439.         <adjustment-interval>30 sec</adjustment-interval>
  440.         <shrink-percentage>10%</shrink-percentage>
  441.         <history-size>3</history-size>
  442.         <log-statistics-at-intevals>false</log-statistics-at-intevals>
  443.         <!-- For each byte buffer pool, there is a buffer size.  -->
  444.         <byte-buffer-size>64K</byte-buffer-size>
  445.         </pool-configuration>
  446.     </resource-pool>
  447.    
  448.     </resource-pools>
  449.  
  450.  
  451.     <!-- ================================================================================= -->
  452.     <!-- Clustering Configuration                                                          -->
  453.     <!-- ================================================================================= -->
  454.    
  455.     <!-- The following section contains configuration parameters related to Nexaweb        -->
  456.     <!-- Server clustering. Setting 'enabled=true' in the 'clustering' element below       -->
  457.     <!-- will make this instance of Nexaweb Server be part of a cluster. However none      -->
  458.     <!-- of the backup functionality usually associated with clustering will get turned    -->
  459.     <!-- on unless the 'failover' attribute is also set to 'true'. Setting 'failover=true' -->
  460.     <!-- will enable backup assignment for the local sessions created on this server       -->
  461.     <!-- instance and will also allow this server instance to serve as a backup node for   -->
  462.     <!-- other nodes in the cluster. You can not set failover=true without setting         -->
  463.     <!-- enabled=true as well.                                                             -->
  464.     <!--                                                                                   -->
  465.     <!-- When run in a clustered environment each application instance (which corresponds  -->
  466.     <!-- one-to-one to a Nexaweb Server instance) has a unique address that uniquely       -->
  467.     <!-- identifies it and is used as a messaging destination for inter-server             -->
  468.     <!-- communication. The address has the following format:                              -->
  469.     <!-- <domain>
  470. .<cluster>.<server>.<application>                                         -->    
  471.     <!-- In order to be considered part of the same cluster all instances of your          -->
  472.     <!-- application have to have the same domain and cluster names. In addition the       -->
  473.     <!-- server name has to be unique across physical machines+JVM instances running on    -->
  474.     <!-- the same machine and the application name has to be the same for all instances of -->
  475.     <!-- the same application.                                                             -->
  476.     <!--                                                                                   -->
  477.     <!-- If you have multiple web applications deployed you have to make sure that each of -->
  478.     <!-- them has a unique application name. Failure to do so will lead to erroneous       -->
  479.     <!-- behaviour.                                                                        -->
  480.     <!--                                                                                   -->
  481.     <!-- There is a number of ways in which you can partition your cluster into multiple   -->
  482.     <!-- subclusters.  For example specifying a different domain and/or cluster name would -->
  483.     <!-- accomplish that.                                                                  -->
  484.     <clustering enabled="false" failover="false">
  485.         <!-- The Nexaweb messaging Domain in which this server lives.     -->
  486.         <!-- When this value is not supplied, the machine's localhost     -->
  487.         <!-- address is used.  This avoids collisions and versioning      -->
  488.         <!-- problems in a developer environment while allowing           -->
  489.         <!-- developers to run a cluster on their own machine.            -->
  490.         <!--                                                              -->
  491.         <!-- Since this string is included on every message sent, for     -->
  492.         <!-- performance reasons it should be as short as possible.       -->
  493.         <!--                                                              -->
  494.         <!-- Developers will most likely wish to comment this out during  -->
  495.         <!-- development to avoid collisions between developer's personal -->
  496.         <!-- clustered environments.                                      -->
  497.         <domain>DOM</domain>
  498.  
  499.         <!-- The Cluster in which this server resides.                    -->
  500.     <!-- You do not need to change this value unless you wish to      -->
  501.     <!-- segment your cluster.                                        -->
  502.         <cluster>CLUS</cluster>
  503.        
  504.         <!-- A unique identifier for this server + JVM instance.              -->
  505.         <!--                                                                  -->
  506.         <!-- Important! This value has to be unique on each server instance   -->
  507.         <!-- that belongs to the same cluster.  You should leave this element -->
  508.         <!-- commented out so that a unique identifier can get generated and  -->
  509.         <!-- used.                                                            -->
  510.         <!-- If you do specify it here, after you deploy your application     -->
  511.         <!-- you will need to manually change this value on each server       -->
  512.         <!-- instance to make it unique and then restart the cluster.         -->
  513.         <!-- NOTE: not all application servers will allow modifying a local   -->
  514.         <!-- copy of an application after it has been deployed in a cluster   -->
  515.         <!-- so once again, leave this value commented out.                   -->
  516.  
  517.         <!-- <server>
  518. SERVER</server> -->
  519.  
  520.     <!-- If you're application may ever be deployed in a clustered environment  -->
  521.     <!-- alongside other Nexaweb applications, you must provide a name for your -->
  522.     <!-- application that will be unique across the cluster.                    -->
  523.     <!--                                                                        -->
  524.     <!-- The value must be alpha-numeric with no punctuation, although hyphen   -->
  525.     <!-- characters are allowed.                                                -->
  526.     <!--                                                                        -->
  527.     <!-- This value is used to identify which application sent messages across  -->
  528.     <!-- the messaging bus.  Shorter values will reduce traffic.                -->
  529.         <application>APP</application>
  530.     </clustering>
  531.  
  532.  
  533.     <!-- ================================================================================= -->
  534.     <!-- Messaging Implementation Configuration                                            -->
  535.     <!-- ================================================================================= -->
  536.    
  537.     <messaging>
  538.     <!-- The default messaging implementation for Nexaweb is Continuum - in-house        -->
  539.     <!-- built messaging solution based on UDP. Customers familiar and comfortable       -->
  540.     <!-- with JMS may wish to use the application server's JMS implementation.           -->
  541.     <!-- See Nexaweb's clustering documentation for more information.                    -->
  542.         <default-factory-implementation class="com.nexaweb.server.messaging.continuum.ContinuumMessagingFactory" />
  543.         <!-- <default-factory-implementation class="com.nexaweb.server.messaging.jms.JMSMessagingFactory" />
  544. -->
  545.     </messaging>
  546.  
  547.     <!-- ============================================================================== -->
  548.     <!-- JMS Configuration (Modify this ONLY if you are using your own JMS provider)    -->
  549.     <!-- ============================================================================== -->
  550.    
  551.     <!-- JMS configuration is used to configure JMS Messaging Factory instances.  -->
  552.     <!-- You can have multiple JMS configuration sections in your config (just    -->
  553.     <!-- specify a unique name attribute for each of them). Different JMS factory -->
  554.     <!-- instances can use the same JMS configuration section or different ones.  -->
  555.     <jms name="jms-config1">
  556.     <jndi>
  557.         <!-- JNDI name for the JMS connection factory. This is the full name    -->
  558.         <!-- that will be used to lookup the connection factory in the JNDI.    -->
  559.         <connection-factory-jndi-name>jms/NexawebConnectionFactory</connection-factory-jndi-name>
  560.        
  561.         <!-- JNDI name for the destination used by the message producer         -->
  562.         <!-- and consumer.                                                      -->                
  563.             <destination-jndi-name>jms/NexawebTopic</destination-jndi-name>
  564.        
  565.         <!-- Initial context jndi environment. These parameters will be passed  -->
  566.         <!-- in when creating the initial JNDI context.                         -->
  567.         <initial-context-environment>
  568.         <!--
  569.         <param name="ParamName" value="ParamValue" />
  570.         -->
  571.         </initial-context-environment>
  572.     </jndi>
  573.    
  574.     <connection>
  575.         <!-- If you want to use a durable subscription each JMS client has to be    -->
  576.         <!-- associated with a unique client id. Usually this id is configured      -->
  577.         <!-- through the administration console. If your JMS provider does not have -->
  578.         <!-- a way to set it administratively the JMS API has a method to do that.  -->
  579.         <!-- However you should be aware that the J2EE specification prohibits      -->
  580.         <!-- using this method and any J2EE compliant container will throw an       -->
  581.         <!-- IllegalStateException. Nexaweb will attempt to set the provided value  -->
  582.         <!-- as the client id. If the value is not specified and the id is not set  -->
  583.         <!-- Nexaweb will generate a GUID and attempt to set it as the client id.   -->
  584.         <!-- <client-id>
  585. jms-instance1-clientid</client-id> -->
  586.     </connection>
  587.    
  588.     <session>
  589.         <transacted>false</transacted>
  590.         <!-- Session acknowledge mode. You can use the fully qualified way as  -->
  591.         <!-- shown below or specify a simple int value in the range allowed by -->
  592.         <!-- the JMS API.                                                      -->
  593.         <acknowledge-mode>javax.jms.Session.AUTO_ACKNOWLEDGE</acknowledge-mode>
  594.     </session> 
  595.    
  596.     <message-producer>     
  597.         <!-- Delivery mode for the message producer. You can use the fully  -->
  598.         <!-- qualified way as shown below or specify a simple int value     -->
  599.         <!-- in the range allowed by the JMS API                            -->
  600.         <delivery-mode>javax.jms.DeliveryMode.NON_PERSISTENT</delivery-mode>
  601.  
  602.         <!-- Priority for the message delivery. You can use the fully   -->
  603.         <!-- qualified way as shown below or specify a simple int value -->
  604.         <!-- in the range allowed by the JMS API                        -->
  605.         <priority>javax.jms.Message.DEFAULT_PRIORITY</priority>
  606.        
  607.         <!-- Message time-to-live. You can use the fully qualified way as   -->
  608.         <!-- shown below or specify a long value ( number of milliseconds ) -->
  609.         <time-to-live>javax.jms.Message.DEFAULT_TIME_TO_LIVE</time-to-live>    
  610.        
  611.         <!-- Whether message ids are disabled for the JMS messages          -->
  612.         <disable-message-id>false</disable-message-id>
  613.        
  614.         <!-- Whether message timestamps are disabled for the JMS messages   -->
  615.         <disable-message-timestamp>false</disable-message-timestamp>
  616.     </message-producer>
  617.    
  618.     <!-- When TopicConnectionFactory is used you can choose to use a durable  -->
  619.     <!-- subscriber which has to be configured through the JMS administration -->
  620.     <!-- console and you would need to uncomment the block below. By default  -->
  621.     <!-- a non durable subscriber is created.                                 -->
  622.    
  623.     <subscriber>
  624.         <durable>false</durable>
  625.         <!-- <subscription-name>
  626. MySubscription</subscription-name> -->
  627.     </subscriber>
  628.     </jms>
  629.  
  630.     <!-- ============================================================================== -->
  631.     <!-- RequestProxyService Configuration                                              -->
  632.     <!-- ============================================================================== -->
  633.  
  634.     <!-- The RequestProxyService is responsible for proxying requests to fully     -->
  635.     <!-- qualified URLs.  Due to applet security restrictions, the client may only -->
  636.     <!-- make requests to the server that served the applet code.  Therefore, in   -->
  637.     <!-- order to provide the same functionality that HTML provides, the server    -->
  638.     <!-- needs to provide proxying to remote servers.                              -->
  639.     <!--                                                                           -->
  640.     <!-- When requests are forwarded, it is important not to propagate headers     -->
  641.     <!-- in either direction that are pertinent only to one side of the            -->
  642.     <!-- request/response transaction.  For instance, "Transfer-Encoding" should   -->
  643.     <!-- not be propagated from one request to the other or one response to the    -->
  644.     <!-- other.   The list of headers that are NOT propagated in either direction  -->
  645.     <!-- is specified here.  The case of the headers is ignored.                   -->
  646.     <request-proxy-service>
  647.     <transfer-buffer-size>32K</transfer-buffer-size>
  648.     <!-- The case of all headers is ignored. -->
  649.     <excluded-request-headers>
  650.         <header>cookie</header>
  651.         <header>transfer-encoding</header>
  652.         <header>host</header>
  653.     </excluded-request-headers>
  654.     <!-- The case of all headers is ignored. -->
  655.     <excluded-response-headers>
  656.         <header>transfer-encoding</header>
  657.     </excluded-response-headers>
  658.     </request-proxy-service>   
  659.  
  660.     <!-- ============================================================================== -->
  661.     <!-- Protocol Queue Configuration                                                   -->
  662.     <!-- ============================================================================== -->
  663.  
  664.     <!-- There are several queues in use for holding messages and commands -->
  665.     <!-- bound for clients.  When a client doesn't reconnect for a long    -->
  666.     <!-- period of time, the queues could grow to the point where the      -->
  667.     <!-- server may run out of memory.  In order to avoid these conditions,-->
  668.     <!-- the queues may be configured to hav a maximum size.  When the     -->
  669.     <!-- is a maximum size is reached, messages must be dropped.           -->
  670.     <!--                                                                   -->
  671.     <!-- The queues all support the same attributes:                       -->
  672.     <!--                                                                   -->
  673.     <!--   - "size"                                                        -->
  674.     <!--                     The size (number of messages) that will be    -->
  675.     <!--                     allowed in the queue before it is considered  -->
  676.     <!--                     full.  Any non-numeric value will result in   -->
  677.     <!--                     the queue having no maximum size.             -->
  678.     <!--   - "whenFullDrop" (optional, "newest"|"oldest" default: oldest)  -->
  679.     <!--                     Determines which end of the queue messages    -->
  680.     <!--                     will be dropped from when the queue is full.  -->
  681.     <!--                     valid values are "oldest" and "newest".       -->
  682.     <!--   - "logEveryNthDropped" (optional)                               -->
  683.     <!--                     Instead of logging every message dropped,     -->
  684.     <!--                     (this could produce a great deal of output),  -->
  685.     <!--                     set the number of messages that must be       -->
  686.     <!--                     dropped between log events.                   -->
  687.     <protocol-queues>
  688.     <!-- This is the queue that contains DOM changes bound for the  -->
  689.     <!-- client.  There is an instance of this queue for each DOM   -->
  690.     <!-- that exists.  So they are sized per document.  Dropping    -->
  691.     <!-- changes here can cause future changes to be invalid which  -->
  692.     <!-- will result in errors.                                     -->
  693.     <dom-changes size="NO_MAX" />
  694.     <!-- This is the queue of messages sent via the messaging bus.  -->
  695.     <!-- Using MessagingService or NetService, publish() and send() -->
  696.     <!-- methods.                                                   -->
  697.     <messaging-queue size="1000" whenFullDrop="oldest" logEveryNthDropped="10" />
  698.     <!-- This is the queue of Nexaweb protocol commands that must   -->
  699.     <!-- preceed DOM changes.  Changing this queue's properties is  -->
  700.     <!-- not recommended.                                           -->
  701.     <pre-dom-change-commands size="NO_MAX" />
  702.     <!-- This is the queue of Nexaweb protocol commands that must   -->
  703.     <!-- come after DOM changes.  Changing this queue's properties  -->
  704.     <!-- is not recommended.                                        -->
  705.     <post-dom-change-commands size="NO_MAX" />
  706.     <!-- This is the queue of nack-ack messages and resends.        -->
  707.     <!-- Changing this queue's properties is not recommended.       -->
  708.     <reliable-messaging-protocol-support size="NO_MAX" />
  709.     </protocol-queues>
  710.  
  711.  
  712.    
  713. </server>
  714. <!-- ================================================================================== -->
  715. <!--                                                                                    -->
  716. <!--                                                                                    -->
  717. <!-- String                                                                             -->
  718. <!--     - Free form or specified in the documentation for the value.                   -->
  719. <!--                                                                                    -->
  720. <!-- integer                                                                            -->
  721. <!--     - Any numeric value parsable by Long.parseLong()                               -->
  722. <!--                                                                                    -->
  723. <!-- floating point                                                                     -->
  724. <!--     - Any numeric value parsable by Double.parseDouble()                           -->
  725. <!--                                                                                    -->
  726. <!-- boolean                                                                            -->
  727. <!--     - Any value that begins with the uppercase or lowercase letter 't' will be     -->
  728. <!--       treated as boolean true, all other values are considered false.              -->
  729. <!--                                                                                    -->
  730. <!-- time interval                                                                      -->
  731. <!--     - Time intervals are an integer value followed by a suffix indicating the      -->
  732. <!--       units.  Supported suffixes follow:                                           -->
  733. <!--                                                                                    -->
  734. <!--            Suffixes for milliseconds                                               -->
  735. <!--               - ms                                                                 -->
  736. <!--               - msec                                                               -->
  737. <!--               - msecs                                                              -->
  738. <!--               - millis                                                             -->
  739. <!--               - milliseconds                                                       -->
  740. <!--            Suffixes for seconds                                                    -->
  741. <!--               - s                                                                  -->
  742. <!--               - sec                                                                -->
  743. <!--               - seconds                                                            -->
  744. <!--            Suffixes for minutes                                                    -->
  745. <!--               - m                                                                  -->
  746. <!--               - min                                                                -->
  747. <!--               - minutes                                                            -->
  748. <!--            Suffixes for hours                                                      -->
  749. <!--               - h                                                                  -->
  750. <!--               - hr                                                                 -->
  751. <!--               - hrs                                                                -->
  752. <!--               - hours                                                              -->
  753. <!--            Suffixes for days                                                       -->
  754. <!--               - d                                                                  -->
  755. <!--               - days                                                               -->
  756. <!--            Suffixes for months                                                     -->
  757. <!--               - mon                                                                -->
  758. <!--               - months                                                             -->
  759. <!--            Suffixes for years                                                      -->
  760. <!--               - y                                                                  -->
  761. <!--               - yr                                                                 -->
  762. <!--               - yrs                                                                -->
  763. <!--               - years                                                              -->
  764. <!--                                                                                    -->
  765. <!-- percentages                                                                        -->
  766. <!--     - Percentages are a double value with an optional suffix for readability.      -->
  767. <!--       Examples of values with supported suffixes and the resulting values follow:  -->
  768. <!--                                                                                    -->
  769. <!--           Value        -  Result                                                   -->
  770. <!--           - - - - - - - - - - - - -                                                -->
  771. <!--            15          -   15%                                                     -->
  772. <!--            0.15        -   0.15%                                                   -->
  773. <!--            0.15D       -   15%                                                     -->
  774. <!--            15%         -   15%                                                     -->
  775. <!--            15 perc     -   15%                                                     -->
  776. <!--            15 perc.    -   15%                                                     -->
  777. <!--            15 percent  -   15%                                                     -->
  778. <!--            15 percent. -   15%                                                     -->
  779. <!--                                                                                    -->
  780. <!-- ================================================================================== -->
  781.  

© Copyright 2005-2008 Nexaweb Technologies Inc. All Rights Reserved.