one.world – Configuration


one.world can be configured through several parameters, which are expressed through Java system properties and are specified in a configuration file. By default, the configuration file is called "one.world.config" and is located in the current directory (in which one.world is started). The name of the configuration file can be overwritten by specifying the "one.world.config.name" system property when invoking java. The configuration file has the format of a properties file. During start-up, the configuration properties are read from the file and copied into Java's system properties.

The properties recognized by one.world are described below. Generally, you only need to set the one.world.store.root property and optionally the one.world.swing.native.laf and caffeine.mark.rating properties. To create a group of one.world nodes that is independent of other groups, you also need to adjust the REP and discovery ports, i.e., the one.world.rep.port, one.world.discovery.announce.port and one.world.discovery.election.port properties. Example configuration files for Windows and Linux are linked in at the bottom of this page.

The individual properties are:

one.world.store.root
       The root directory for storing the environment hierarchy. This property must be specified for one.world to run. Furthermore, when running with a Java security policy, this property must be specified in the startup script (one.world.bat for Windows and one.world.sh for Linux), because the security policy is parameterized with it.
one.world.log.name
       The file name for the system log. If this property is not specified or no file with the specified name can be opened for writing, the system log is written to standard output.
one.world.debug.events
       The flag for whether one.world's kernel should perform extra event validation and print debugging messages to the system log. If this system property is defined and "true" (case insensitive), events sent between kernel subsystems are validated and debugging messages are printed to the system log.
one.world.debug.environment
       The flag for whether one.world should print debugging messages to the system log for environment operations. If this system property is defined and "true" (case insensitive), debugging messages are printed to the system log.
one.world.debug.tuple.store
       The flag for whether one.world should print debugging messages to the system log for tuple store operations. If this system property is defined and "true" (case insensitive), debugging messages are printed to the system log.
one.world.debug.thread.control
       The flag for whether one.world should print debugging messages to the system log for thread control operations. If this system property is defined and "true" (case insensitive), debugging messages are printed to the system log.
one.world.debug.timer
       The flag for whether one.world should print debugging messages to the system log for timer operations. If this system property is defined and "true" (case insensitive), debugging messages are printed to the system log.
one.world.debug.network
       The flag for whether one.world should print debugging messages to the system log for structured I/O networking. If this system property is defined and "true" (case insensitive), debugging messages are printed to the system log.
one.world.debug.rep
       The flag for whether one.world should print debugging messages to the system log for REP (excluding discovery). If this system property is defined and "true" (case insensitive), debugging messages are printed to the system log.
one.world.debug.discovery
       The flag for whether one.world should print debugging messages to the system log for discovery. If this system property is defined and "true" (case insensitive), debugging messages are printed to the system log.
one.world.synchronous.timeout
       The timeout for synchronous operations, which must be a positive long number in milliseconds. This timeout is used when performing synchronous invocations within the implementation of one.world.
one.world.network.timeout
       The default timeout when waiting for a response during an exchange of remote events, which must be a positive long number in milliseconds.
one.world.animator.capacity
       The default capacity of the event queues used in one.world, which must be a positive integer.
one.world.animator.min.threads
       The minimum number of threads used for concurrent animators, which must be a positive integer.
one.world.animator.max.threads
       The maximum number of threads used for concurrent animators, which must be a positive integer.
one.world.animator.idle.time
       The idle time for concurrent animators, which must be a positive long number in milliseconds. When a concurrent animator's thread is idle for at least this time and the animator has more threads than the minimum number of threads, the thread is terminated.
one.world.animator.scan.time
       The time between scans for the animator controller, which must be a positive long number in milliseconds. The animator controller checks each concurrent animator's queue and, if the current queue length is over the busy threshold and the animator has fewer than the maximum number of threads, adds more threads to the animator.
one.world.animator.threshold
       The busy threshold for adding new threads to a concurrent animator, which must be a positive integer. If an animator's event queue has at least this number of pending event handler, event applications and the animator has fewer than the maximum number of threads, new threads are added to the animator.
one.world.animator.add.threads
       The number of threads to add to a concurrent animator if its queue is over the busy threshold, which must be a positive integer.
one.world.animator.root.min.threads
       The root environment's minimum number of threads, which must be a positive integer.
one.world.animator.root.max.threads
       The root environment's maximum number of threads, which must be a positive integer.
one.world.animator.root.threshold
       The busy threshold for adding new threads to the root environment's animator, which must be a positive integer.
one.world.animator.root.add.threads
       The number of threads to add to the root environment's animator if its queue is over the busy threshold, which must be a positive integer.
one.world.timer.period
       The default period for repeated timer notifications. This period is used for setting up repeated timer notifications so that timed notifications are not lost.
one.world.lease.min.duration
       The minimum duration for leases granted by the lease manager, which must be a positive long number in milliseconds.
one.world.lease.duration
       The default duration for leases granted by the lease manager, which must be a positive long number in milliseconds.
one.world.lease.max.duration
       The maximum duration for leases granted by the lease manager, which must be a positive long number in milliseconds.
one.world.operation.retries
       The default number of retries when performing an operation, which must be a non-negative integer.
one.world.operation.timeout
       The default timeout when performing an operation, which must be a positive long number in milliseconds.
one.world.port
       The default port number for structured I/O communication channels, which must be a valid TCP/IP port number. If this system property is not defined, the default port is 5101.
one.world.rep.port
       The default port number for remote event passing, which must be a valid TCP/IP port number. If this system property is not defined, the default port is 5102.
one.world.rep.cache.timeout
       The timeout for cached remote event passing connections, which must be a positive long number in milliseconds.
one.world.rep.max.retries
       The maximum number of retries for sending a remote event or resolution request, which must be a positive integer.
one.world.rep.queue.capacity
       The number of remote events to queue while waiting to establish a connection to a remote node, which must be a positive integer. If this property is not specified, the default queue size is the same as the animator capacity (see the description of the "one.world.animator.capacity" property).
one.world.rep.force.network
       The flag for whether to force event delivery over the network. If this system property is defined and "true" (case insensitive), all events delivered through REP are delivered using the network, even if they are destined for an event handler on the same node as the sender.
one.world.discovery.server
       The flag for whether this node should be a discovery server. If this system property is defined and "true" (case insensitive), this instance of one.world starts with a discovery server. Note that the server may be shut down again as a result of a discovery server election.
one.world.discovery.announce.addr
       The IP multicast address for server announcements from a discovery server. The default is 230.0.0.1.
one.world.discovery.announce.port
       The port number for server announcements from a discovery server. The default is 5104.
one.world.discovery.announce.period
       The period between advertisments from a discovery server, which must be a positive long number in milliseconds.
one.world.discovery.announce.value
       The discovery server score for elections. This parameter is useful for testing discovery server elections and is typically set to -1.
one.world.discovery.election.addr
       The IP multicast address for calling and performing discovery server elections. The default is 230.0.0.1.
one.world.discovery.election.port
       The port number for calling and performing discovery server elections. The default is 5105.
one.world.discovery.election.duration
       The length of time to wait for a discovery server election to complete, which must be a positive long number in milliseconds.
one.world.discovery.election.calltime
       The length of time to wait before calling a discovery server election, which must be a positive long number in milliseconds.
one.world.moving.protocol.timeout
       The timeout for waiting for moving protocol messages, which must be a positive long number in milliseconds. If this property is not specified or not a positive number, the timeout is 60 seconds.
one.world.shell.port
       The telnet port for the root shell. If this property is not specified, the port defaults to the default telnet port (23).
one.world.shell.pwd
       The password for telnet access to the root shell. If this property is not specified, the root shell defaults to the local console. If it is specified, the root shell is accessed through the telnet protocol, a single connection at a time.
mime.config.name
       The name and directory of the file containing MIME type, file extension name mappings. If this property is not specified, one.world uses the file named "mime.config" in the current directory. The source tree contains a file with reasonable mappings in the src/one/net directory; that file is mirrored here.
one.world.chunking.threshold
       The threshold for breaking up a single file into several tuples when importing the file, which must be a positive long number.
one.world.swing.native.laf
       If this property is defined (for example, "true"), applications with a Swing user interface use the platform native look and feel. If it is not defined, they use the cross-platform look and feel.
caffeine.mark.rating
       The embedded CaffeineMark 3.0 performance rating for the Java virtual machine running one.world. If this system property is not defined, the default is -1, which is not a legal CaffeineMark rating. A re-packaged version of the benchmark is available here. Simply download the file and execute
  java -jar bench.jar
in the same directory, which will run the benchmark and print the overall performance rating.

Here's an example configuration file for Windows, which indicates that the root directory for the persistent environment state is named "Z:\one.world.root". And, here's an example configuration file for Linux, which indicates that the root directory for the persistent environment state is named "/one.world.root". Both configuration files also specify the performance rating for their machine and request that the platform-native look-and-feel be used for GUI applications.