############################################################################### # Apache JServ Configuration File # ############################################################################### ################################ W A R N I N G ################################ # Unlike normal Java properties, JServ configurations have some important # extentions: # # 1) commas are used as token separators # 2) multiple definitions of the same key are concatenated in a # comma-separated list. ############################################################################### # # Execution parameters ####################### # The Java Virtual Machine interpreter. # Syntax: wrapper.bin=[filename] (String) # Note: specify a full path if the interpreter is not visible in your path. wrapper.bin=@JAVA@ # Arguments passed to Java interpreter (optional) # Syntax: wrapper.bin.parameters=[parameters] (String) # Default: NONE # Apache JServ entry point class (should not be changed) # Syntax: wrapper.class=[classname] (String) # Default: "org.apache.jserv.JServ" # Arguments passed to main class after the properties filename (not used) # Syntax: wrapper.class.parameters=[parameters] (String) # Default: NONE # Note: currently not used # PATH environment value passed to the JVM # Syntax: wrapper.path=[path] (String) # Default: "/bin:/usr/bin:/usr/local/bin" for Unix systems # "c:\(windows-dir);c:\(windows-system-dir)" for Win32 systems # Notes: if more than one line is supplied these will be concatenated using # ":" or ";" (depending wether Unix or Win32) characters # Under Win32 (windows-dir) and (windows-system-dir) will be # automatically evaluated to match your system requirements # CLASSPATH environment value passed to the JVM # Syntax: wrapper.classpath=[path] (String) # Default: NONE (Sun's JDK/JRE already have a default classpath) # Note: if more than one line is supplied these will be concatenated using # ":" or ";" (depending wether Unix or Win32) characters. JVM must be # able to find JSDK and JServ classes and any utility classes used by # your servlets. # Note: the classes you want to be automatically reloaded upon modification # MUST NOT be in this classpath or the classpath of the shell # you start the Apache from. # wrapper.classpath=@JSERV_CLASSES@ wrapper.classpath=@JSDK_CLASSES@ # An environment name with value passed to the JVM # Syntax: wrapper.env=[name]=[value] (String) # Default: NONE on Unix Systems # SystemDrive and SystemRoot with appropriate values on Win32 systems # An environment name with value copied from caller to Java Virtual Machine # Syntax: wrapper.env.copy=[name] (String) # Default: NONE # Copies all environment from caller to Java Virtual Machine # Syntax: wrapper.env.copyall=[true|false] (boolean) # Default: false # Protocol used for signal handling # Syntax: wrapper.protocol=[name] (String) # Default: ajpv12 # # General parameters ###################### # Set the default IP address or hostname Apache JServ binds (or listens) to. # # If you have a machine with multiple IP addresses, this address # will be the one used. If you set the value to localhost, it # will be resolved to the IP address configured for the locahost # on your system (generally this is 127.0.0.1). This feature is so # that one can have multiple instances of Apache JServ listening on # the same port number, but different IP addresses on the same machine. # Use bindaddress=* only if you know exactly what you are doing here, # as it could let JServ wide open to the internet. # You must understand that JServ has to answer only to Apache, and should not # be reachable by nobody but mod_jserv. So localhost is usually a # good option. The second best choice would be an internal network address # (protected by a firewall) if JServ is running on another machine than Apache. # Ask your network admin. # "*" _may_ be used on boxes where some of the clients get connected using # "localhost"and others using another IP addr. # # Syntax: bindaddress=[ipaddress] or [localhost] or [*] # Default: localhost bindaddress=localhost # Set the port Apache JServ listens to. # Syntax: port=[1024,65535] (int) # Default: 8007 port=8007 # # Servlet Zones parameters ########################### # List of servlet zones Apache JServ manages # Syntax: zones=[servlet zone],[servlet zone]... (Comma separated list of String) # Default: NONE zones=root # Configuration file for each servlet zone (one per servlet zone) # Syntax: [servlet zone name as on the zones list].properties=[full path to configFile] (String) # Default: NONE # Note: if the file could not be opened, try using absolute paths. root.properties=@JSERV_CONF@/zone.properties # # Thread Pool parameters ######################### # Enables or disables the use of the thread pool. # Syntax: pool=[true|false] (boolean) # Default: false # WARNING: the pool has not been extensively tested and may generate deadlocks. # For this reason, we advise against using this code in production environments. pool=false # Indicates the number of idle threads that the pool may contain. # Syntax: pool.capacity=(int)>0 # Default: 10 # NOTE: depending on your system load, this number should be low for contantly # loaded servers and should be increased depending on load bursts. pool.capacity=10 # Indicates the pool controller that should be used to control the # level of the recycled threads. # Syntax: pool.controller=[full class of controller] (String) # Default: org.apache.java.recycle.DefaultController # NOTE: it is safe to leave this unchanged unless special recycle behavior # is needed. Look at the "org.apache.java.recycle" package javadocs for more # info on other pool controllers and their behavior. pool.controller=org.apache.java.recycle.DefaultController # # Security parameters ##################### # Enable/disable the execution of org.apache.jserv.JServ as a servlet. # This is disabled by default because it may give informations that should # be restricted. # Note that the execution of Apache JServ as a servlet is filtered by the web # server modules by default so that both sides should be enabled to let this # service work. # This service is useful for installation and configuration since it gives # feedback about the exact configurations Apache JServ is using, but it should # be disabled when both installation and configuration processes are done. # Syntax: security.selfservlet=[true|false] (boolean) # Default: false # WARNING: disable this in a production environment since may give reserved # information to untrusted users. security.selfservlet=true # Set the maximum number of socket connections Apache JServ may handle # simultaneously. Make sure your operating environment has enough file # descriptors to allow this number. # Syntax: security.maxConnections=(int)>1 # Default: 50 security.maxConnections=50 # Backlog setting for very fine performance tunning of JServ. # Unless you are familiar to sockets leave this value commented out. # security.backlog=5 # List of IP addresses allowed to connect to Apache JServ. This is a first # security filtering to reject possibly unsecure connections and avoid the # overhead of connection authentication. # Syntax: security.allowedAddresses=[IP address],[IP Address]... (Comma separated list of IP addresses) # Default: 127.0.0.1 #security.allowedAddresses=127.0.0.1 # Enable/disable connection authentication. # NOTE: unauthenticated connections are a little faster since authentication # handshake is not performed at connection creation. # WARNING: authentication is disabled by default because we believe that # connection restriction from all IP addresses but localhost reduces your # time to get Apache JServ to run. If you allow other addresses to connect and # you don't trust it, you should enable authentication to prevent untrusted # execution of your servlets. Beware: if authentication is disabled and the # IP address is allowed, everyone on that machine can execute your servlets! # Syntax: security.authentication=[true,false] (boolean) # Default: true security.authentication=false # Authentication secret key. # The secret key is passed as a file that must be kept secure and must # be exactly the same of those used by clients to authenticate themselves. # Syntax: security.secretKey=[secret key path and filename] (String) # Default: NONE # Note: if the file could not be opened, try using absolute paths. #security.secretKey=@JSERV_CONF@/jserv.secret.key # Length of the randomly generated challenge string (in bytes) used to # authenticate connections. 5 is the lowest possible choice to force a safe # level of security and reduce connection creation overhead. # Syntax: security.challengeSize=(int)>5 # Default: 5 #security.challengeSize=5 # # Logging parameters #################### # Enable/disable Apache JServ logging. # WARNING: logging is a very expensive operation in terms of performance. You # should reduced the generated log to a minumum or even disable it if fast # execution is an issue. Note that if all log channels (see below) are # enabled, the log may become really big since each servlet request may # generate many Kb of log. Some log channels are mainly for debugging # purposes and should be disabled in a production environment. # Syntax: log=[true,false] (boolean) # Default: true log=true # Set the name of the trace/log file. To avoid possible confusion about # the location of this file, an absolute pathname is recommended. # # This log file is different than the log file that is in the # jserv.conf file. This is the log file for the Java portion of Apache # JServ. # # On Unix, this file must have write permissions by the owner of the JVM # process. In other words, if you are running Apache JServ in manual mode # and Apache is running as user nobody, then the file must have its # permissions set so that that user can write to it. # Syntax: log.file=[log path and filename] (String) # Default: NONE # Note: if the file could not be opened, try using absolute paths. log.file=@JSERV_LOG@/jserv.log # Enable the timestamp before the log message # Syntax: log.timestamp=[true,false] (boolean) # Default: true log.timestamp=true # Use the given string as a data format # (see java.text.SimpleDateFormat for the list of options) # Syntax: log.dateFormat=(String) # Default: [dd/MM/yyyy HH:mm:ss:SSS zz] log.dateFormat=[dd/MM/yyyy HH:mm:ss:SSS zz] # Since all the messages logged are processed by a thread running with # minimum priority, it's of vital importance that this thread gets a chance # to run once in a while. If it doesn't, the log queue overflow occurs, # usually resulting in the OutOfMemoryError. # # To prevent this from happening, two parameters are used: log.queue.maxage # and log.queue.maxsize. The former defines the maximum time for the logged # message to stay in the queue, the latter defines maximum number of # messages in the queue. # # If one of those conditions becomes true (age > maxage || size > maxsize), # the log message stating that fact is generated and the log queue is # flushed in the separate thread. # # If you ever see such a message, either your system doesn't live up to its # expectations or you have a runaway loop (probably, but not necessarily, # generating a lot of log messages). # # WARNING: Default values are lousy, you probably want to tweak them and # report the results back to the development team. # Syntax: log.queue.maxage = [milliseconds] # Default: 5000 log.queue.maxage = 5000 # Syntax: log.queue.maxsize = [integer] # Default: 1000 log.queue.maxsize = 1000 # Enable/disable logging the channel name # Default: false # log.channel=false # Enable/disable channels, each logging different actions. # Syntax: log.channel.[channel name]=[true,false] (boolean) # Default: false # Info channel - quite a lot of informational messages # hopefully you don't need them under normal circumstances # log.channel.info=true # Servlets exception, i.e. exception caught during # servlet.service() processing are monitored here # you probably want to have this one switched on log.channel.servletException=true # JServ exception, caught internally in jserv # we suggest to leave it on log.channel.jservException=true # Warning channel, it catches all the important # messages that don't cause JServ to stop, leave it on log.channel.warning=true # Servlet log # All messages logged by servlets. Probably you want # this one to be switched on. log.channel.servletLog=true # Critical errors # Messages produced by critical events causing jserv to stop log.channel.critical=true # Debug channel # Only for internal debugging purposes # log.channel.debug=true