5 Using WebLogic RMI with T3 Protocol

This chapter provides information on using WebLogic RMI with T3 protocol.

This chapter includes the following sections:

RMI Communication in WebLogic Server

RMI communications in WebLogic Server use the T3 protocol to transport data between WebLogic Server and other Java programs, including clients and other WebLogic Server instances. A server instance keeps track of each Java Virtual Machine (JVM) with which it connects, and creates a single T3 connection to carry all traffic for a JVM. See Configure T3 protocol in Oracle WebLogic Server Administration Console Online Help.

For example, if a Java client accesses an enterprise bean and a JDBC connection pool on WebLogic Server, a single network connection is established between the WebLogic Server JVM and the client JVM. The EJB and JDBC services can be written as if they had sole use of a dedicated network connection because the T3 protocol invisibly multiplexes packets on the single connection.

Determining Connection Availability

Any two Java programs with a valid T3 connection—such as two server instances, or a server instance and a Java client—use periodic point-to-point "heartbeats " to announce and determine continued availability. Each end point periodically issues a heartbeat to the peer, and similarly, determines that the peer is still available based on continued receipt of heartbeats from the peer.

  • The frequency with which a server instance issues heartbeats is determined by the heartbeat interval, which by default is 60 seconds.

  • The number of missed heartbeats from a peer that a server instance waits before deciding the peer is unavailable is determined by the heartbeat period, which by default, is 4. Hence, each server instance waits up to 240 seconds, or 4 minutes, with no messages—either heartbeats or other communication—from a peer before deciding that the peer is unreachable.

  • Changing timeout defaults is not recommended.

Using a WebLogic T3/T3s Client Proxy

The WebLogic T3/T3s Client Proxy provides the ability to route outbound client requests to a proxy WebLogic T3 server. In this situation, each client routes all outbound requests to the proxy server. The proxy server then directs the request to the WebLogic Server instance that services the request. On both of client and server side, the configuration affects all applications using a T3 connection as client. For example, if an application creates T3 connection to access a WebLogic T3 server, such as calling methods on remote objects using WebLogic RMI, the proxy configuration is applied to the connection logic.

To enable a client proxy, set the following properties:

T3:

-Dhttp.proxyHost=<proxy hostname>
-Dhttp.proxyPort=<proxy port>
-Dhttp.nonProxyHosts=<hostnames> 

T3s:

-Dhttps.proxyHost=<proxy hostname>
-Dhttps.proxyPort=<proxy port>
-Dhttps.nonProxyHosts=<hostnames> 

where:

  • proxy hostname is the network address of the user's proxy server.

  • proxy port is the port number. If not explicitly set, the value of the port number is set to 80.

  • hostnames is a "|" separated list of one or more host names that WebLogic Server excludes from a proxy configuration. You can use the wildcard character "*" for matching. For example: -Dhttp.nonProxyHosts="*.oracle.com|localhost".