sun.rmi
PropertiesWARNING: The properties described here are not supported, can
change at any time, and only exist in certain implementations of the
Java Remote Method Invocation
(Java RMI). 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
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, Linux, or Mac OS X] [Windows].sun.rmi.activation.execTimeout
rmid
will wait for an activation group to start up.
The default value is 30000 milliseconds (30 seconds).sun.rmi.activation.groupThrottle
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
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
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
true
, details of
rmid
's logging activity are sent to
System.err
.sun.rmi.server.activation.debugExec
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
Long.MAX_VALUE
. The default value is 300000 (five
minutes).sun.rmi.dgc.checkInterval
java.rmi.dgc.leaseValue
property.sun.rmi.dgc.logLevel
sun.rmi.dgc.server.gcInterval
sun.rmi.loader.logLevel
sun.rmi.server.exceptionTrace
true
, exception stack
traces will be printed. By default (false
), exception
and error stack traces are not printed.sun.rmi.server.suppressStackTraces
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, perhaps for reasons of
performance or confidentiality.sun.rmi.transport.logLevel
sun.rmi.transport.tcp.localHostNameTimeOut
sun.rmi.transport.tcp.logLevel
sun.rmi.transport.tcp.readTimeout
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
Integer.MAX_VALUE
, which effectively means no
limit.sun.rmi.transport.tcp.threadKeepAliveTime
sun.rmi.client.logCalls
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
sun.rmi.dgc.client.gcInterval
sun.rmi.loader.logLevel
sun.rmi.server.logLevel
sun.rmi.transport.connectionTimeout
sun.rmi.transport.tcp.readTimeout
.sun.rmi.transport.logLevel
sun.rmi.transport.proxy.connectTimeout
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
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
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
Integer.MAX_VALUE
, and a value of
zero indicates an infinite timeout. The default value is 60000 (one
minute).sun.rmi.transport.tcp.responseTimeout
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