sun.rmi
PropertiesWARNING: The properties described here are not supported, can
change at any time, and only exist in certain implementations of
JavaTM Remote Method Invocation
(Java RMI) from Sun Microsystems. These properties are not part of
the Java RMI public API. To see a list of the properties that
are part of the public API, please refer to the page,
java.rmi
Properties.
Please Note: Unless otherwise stated, any output from
these properties is sent to System.err
.
Each of the properties that have names ending in
".logLevel
" have possible values of
"SILENT
", "BRIEF
", and
"VERBOSE
". These values are case insensitive and may
be abbreviated as a string containing the first n letters,
where n is greater than or equal to 1. If not specified,
these properties have a default value of "SILENT
". A
value of "BRIEF"
causes the corresponding Logger
to be set to the level
Level.FINE
, and a value of "VERBOSE"
causes the corresponding Logger
to be set to the level
Level.FINER
. Use of the logging configuration file is
now preferred over the use of these sun.rmi.*
system
properties for logging.
Logging messages are sent to System.err
. For
instance, if a property is said to send output to the "transport"
log, this means that logging messages are sent to a
LogStream
returned by
java.rmi.server.LogStream.log("transport")
, which
sends messages to System.err
, unless you've set it to
something else.
rmid
sun.rmi.activation.execPolicy
(1.3 and
later)rmid
uses to determine whether or not the information
in an ActivationGroupDesc
may be used to launch a
virtual machine for an activation group. The possible values for
the property are default
, none
, or the
fully qualified name of a class that implements a method named
checkExecCommand
that is called to verify
ActivationGroupDesc
information. For details, see the
tools documentation for rmid
[Solaris and Linux] [Windows].sun.rmi.activation.execTimeout
(1.2 and
later)rmid
will wait for an activation group to start up.
The default value is 30000 milliseconds (30 seconds).sun.rmi.activation.groupThrottle
(5.0 and
later)rmid
will allow to be in the
"spawning but not yet active" state simultaneously. If more VMs
need to be started, they will queue up until one of the current
spawn attempts either succeeds or times out. Note that this
property does not limit the maximum number of active VMs; it is
intended to smooth out sudden spikes of activity to avoid reaching
operating system limits. While setting the value of this property
to a lower number may result in a longer start-up time for
rmid
, and setting the value to a higher number could
shorten the start-up time, setting this value too high can crash
rmid
, because your system may run out of resources.
The default value is 3. In previous releases, this property was
named sun.rmi.rmid.maxstartgroup
which is no longer
supported.sun.rmi.activation.groupTimeout
(5.0 and
later)rmid
will wait after destroying an
activation group's process before creating a new incarnation of the
activation group. The default value is 60000 milliseconds (60
seconds).sun.rmi.activation.snapshotInterval
(1.2
and later)rmid
log file on disk. An "update" refers
to a persistent change in the state of the activation system (for
example, the registration of an Activatable
object)
since the last snapshot was taken. Changing the value of this
property can be used to make rmid
re-start more
quickly (by taking snapshots of the log more often) or to make
rmid
more efficient (by taking snapshots of the log
less often). The value of this property is a positive integer
value. The default value is 200.sun.rmi.log.debug
(1.2 and later)true
, details of
rmid
's logging activity are sent to
System.err
.sun.rmi.server.activation.debugExec
(1.2
and later)true
, the activation system will
print out debugging information to the command line that is used
for spawning activation groups. By default, the value is
false
, so debugging information is not printed.sun.rmi.dgc.ackTimeout
(1.4 and later)Long.MAX_VALUE
. The default value is 300000 (five
minutes).sun.rmi.dgc.checkInterval
(1.1 and
later)java.rmi.dgc.leaseValue
property.sun.rmi.dgc.logLevel
(1.1 and later)sun.rmi.dgc.server.gcInterval
(1.2 and
later)sun.rmi.loader.logLevel
(1.2 and
later)sun.rmi.server.exceptionTrace
(1.2 and
later)true
, exception stack
traces will be printed. By default (false
), exception
and error stack traces are not printed.sun.rmi.server.suppressStackTraces
(1.4 and
later)true
, the server-side Java RMI
runtime implementation will clear the stack traces of all
exceptions thrown from the current virtual machine as the result of
remote calls. This property is useful for certain server
applications that may wish to prevent any server-side stack trace
data from accompanying an exception to be marshalled out as the
result of an incoming remote call (as part of the exception's
default serialized form in J2SE 1.4), perhaps for reasons of
performance or confidentiality.sun.rmi.transport.logLevel
(1.1 and
later)sun.rmi.transport.tcp.localHostNameTimeOut
(1.1.7 and later)sun.rmi.transport.tcp.logLevel
(1.1 and
later)sun.rmi.transport.tcp.readTimeout
(1.2.2
and later)java.net.Socket.setSoTimeout
. This property is used
only for cases where a client has not dropped an unused connection
as it should (see sun.rmi.transport.connectionTimeout
).
The default value is 2*3600*1000 milliseconds (two hours).sun.rmi.transport.tcp.maxConnectionThreads
(6 and later)Integer.MAX_VALUE
, which effectively means no
limit.sun.rmi.transport.tcp.threadKeepAliveTime
(6 and later)sun.rmi.client.logCalls
(1.4 and
later)true
, the
sun.rmi.client.call
logger will be set to the level
Level.FINER
. Remote calls are logged at the level
Level.FINER
, and exceptions from remote calls are
logged at the level Level.FINE
.sun.rmi.dgc.cleanInterval
(1.1 and
later)sun.rmi.dgc.client.gcInterval
(1.2 and
later)sun.rmi.loader.logLevel
(1.2 and
later)sun.rmi.server.logLevel
(1.1 and
later)sun.rmi.transport.connectionTimeout
(1.1.6
and later)sun.rmi.transport.tcp.readTimeout
.sun.rmi.transport.logLevel
(1.1 and
later)sun.rmi.transport.proxy.connectTimeout
(1.1
and later)createSocket
) to complete, before
attempting to contact the server using HTTP. This property is only
used when the http.proxyHost
property is set and the
value of java.rmi.server.disableHttp
is
false
. The default value is 15000 milliseconds (15
seconds).sun.rmi.transport.proxy.eagerHttpFallback
(1.4.1 and later)java.rmi.server.disableHttp
system property is not set, then the default global
RMISocketFactory
will fall back to HTTP tunneling when
any java.net.SocketException
is thrown from an initial
(direct) connection attempt, as opposed to the default behavior of
falling back to HTTP tunneling only if an initial connection
attempt throws a java.net.UnknownHostException
or
java.net.NoRouteToHostException
.
This setting can be useful when dealing with firewalls that deny
(instead of ignore) connection attempts to unauthorized ports,
resulting in java.net.ConnectionException
s inside the
client's default global RMISocketFactory
. If this
system property is not enabled, then such
ConnectionException
s will not trigger HTTP fallback,
since they are neither UnknownHostException
s nor
NoRouteToHostException
s. However, if this system
property is enabled, then the ConnectionException
s
will cause HTTP fallback to occur, because
ConnectionException
is a subclass of
SocketException
.
sun.rmi.transport.proxy.logLevel
(1.1 and
later)createSocket
and createServerSocket
)
when the default RMISocketFactory
class is used. This
type of logging is likely to be useful for applications that use
Java RMI over HTTP. Events in custom socket factories are not
logged by this property. It sends some messages to the "proxy" log,
and others to the "transport" log.sun.rmi.transport.tcp.handshakeTimeout
(1.4
and later)Integer.MAX_VALUE
, and a value of
zero indicates an infinite timeout. The default value is 60000 (one
minute).sun.rmi.transport.tcp.responseTimeout
(1.4
and later)java.rmi.RemoteException
.
Setting this property should be done with due consideration,
however, because it effectively places an upper bound on the
allowed duration of any successful outgoing remote invocation. The
maximum value is Integer.MAX_VALUE
, and a value of
zero indicates an infinite timeout. The default value is zero (no
timeout).sun.rmi.transport.tcp.logLevel
(1.1 and
later)