Oracle Fusion Middleware
Java API Reference for Oracle WebLogic Server
12c (12.1.3)

Part Number E41849-02

weblogic.protocol
Interface ServerChannel

All Superinterfaces:
Channel

public interface ServerChannel
extends Channel

A ServerChannel identifies a contact point for a Server based on its identity and other information. ServerChannel is implemented by both JVMID and NAPs. A ServerChannel is primarily a server-side abstraction - the information it provides is primarily used by servers to publish correct addressing information to clients. HostID on the other hand is a client and server abstraction, it provides equivalency and some common addressing information.


Field Summary
static String DEFAULT_ADMIN_CHANNEL
           
static String DEFAULT_CHANNEL_NAME
           
static String DEFAULT_SECURE_CHANNEL_NAME
           
static int INVALID_PORT
           
 
Method Summary
 int getAcceptBacklog()
          The number of backlogged, new TCP connection requests that this network channel allows.
 String getAddress()
          Returns the IP address or the DNS name of this ServerChannel.
 String getChannelName()
          Returns the name of this ServerChannel.
 String[] getCiphersuites()
          Indicates the cipher suites being used on a particular WebLogic Server channel.
 String getClusterAddress()
          Returns the address of the cluster to which the server represented by this address belongs to.
 int getCompleteMessageTimeout()
          The maximum amount of time this network channel waits for a complete message to be received.
 String getConfiguredProtocol()
          The name of the protocol this network channel should use for connections.
 int getConnectTimeout()
          The amount of time that this network channel should wait to establish an outbound socket connection before timing out.
 String getHostnameVerifier()
          The name of the class that implements the weblogic.security.SSL.HostnameVerifier interface.
 int getIdleConnectionTimeout()
          The maximum amount of time (in seconds) that a connection is allowed to be idle before it is closed by this network channel.
 String getInboundCertificateValidation()
          Indicates the client certificate validation rules for inbound SSL.
 InetAddress getInetAddress()
          Get the InetAddress for this ServerChannel.
 int getLoginTimeoutMillis()
          The amount of time that this network channel should wait for a connection before timing out.
 int getMaxBackoffBetweenFailures()
          The maximum back off time between failures while accepting client connections.
 int getMaxConnectedClients()
          The maximum number of clients that can be connected on this network channel.
 int getMaxMessageSize()
          The maximum message size allowable in a message header.
 String getOutboundCertificateValidation()
          Indicates the server certificate validation rules for outbound SSL.
 int getPort()
          Get the port for this ServerChannel.
 Protocol getProtocol()
          Get the protocol for this ServerChannel.
 String getProxyAddress()
          The IP address or DNS name of the HTTP proxy to use for outbound connections on this channel.
 int getProxyPort()
          The port of the HTTP proxy to use for outbound connections on this channel.
 String getPublicAddress()
          Returns the IP address or the DNS name of this ServerChannel.
 String getPublicAddressResolvedIfNeeded()
           
 int getPublicPort()
          Get the external port for this ServerChannel.
 boolean getResolveDNSName()
           Specifies if IP addresses are to be used instead of hostname for T3 communication.
 boolean getTimeoutConnectionWithPendingResponses()
          Determines if connections with pending responses are allowed to timeout.
 int getTunnelingClientPingSecs()
          The interval (in seconds) at which this network channel should ping an HTTP-tunneled client to see if its still alive.
 int getTunnelingClientTimeoutSecs()
          The amount of time (in seconds) after which this network channel considers a missing HTTP-tunneled client to be dead.
 boolean getUseFastSerialization()
          Specifies whether to use non-standard object serialization for performance.
 boolean isAllowUnencryptedNullCipher()
          When a SSL server and a SSL client try to negotiate a commonly supported Cipher, there is a chance that they may end up with nothing in common.
 boolean isClientCertificateEnforced()
          Specifies whether clients must present digital certificates from a trusted certificate authority to WebLogic Server on this channel.
 boolean isHostnameVerificationIgnored()
          Specifies whether to ignore the installed implementation of the weblogic.security.SSL.HostnameVerifier interface (when this server is acting as a client to another application server).
 boolean isHttpEnabledForThisProtocol()
          Specifies whether HTTP traffic should be allowed over this network channel.
 boolean isOutboundEnabled()
          Specifies whether new server-to-server connections may consider this network channel when initiating a connection.
 boolean isOutboundPrivateKeyEnabled()
          Specifies whether the identity should be used for outbound SSL connections on this channel.
 boolean isSDPEnabled()
          Specifies whether SDP protocol is enabled for this network channel.
 boolean isT3SenderQueueDisabled()
          Specify if the channel uses sender queue for T3 protocol or not.
 boolean isTunnelingEnabled()
          Specifies whether tunneling via HTTP should be enabled for this network channel.
 boolean isTwoWaySSLEnabled()
          Specifies whether this network channel uses two way SSL.
 
Methods inherited from interface weblogic.rmi.spi.Channel
getProtocolPrefix, getPublicInetAddress, supportsTLS
 

Field Detail

INVALID_PORT

static final int INVALID_PORT
See Also:
Constant Field Values

DEFAULT_CHANNEL_NAME

static final String DEFAULT_CHANNEL_NAME
See Also:
Constant Field Values

DEFAULT_SECURE_CHANNEL_NAME

static final String DEFAULT_SECURE_CHANNEL_NAME
See Also:
Constant Field Values

DEFAULT_ADMIN_CHANNEL

static final String DEFAULT_ADMIN_CHANNEL
See Also:
Constant Field Values
Method Detail

getInetAddress

InetAddress getInetAddress()
Get the InetAddress for this ServerChannel. This and getPort() are used frequently by IIOP.

Specified by:
getInetAddress in interface Channel
Returns:
The InetAddress of this ServerChannel.

getPort

int getPort()
Get the port for this ServerChannel.

Returns:
The port of this ServerChannel.

getProtocol

Protocol getProtocol()
Get the protocol for this ServerChannel.

Returns:
The port of this ServerChannel.

getAddress

String getAddress()
Returns the IP address or the DNS name of this ServerChannel. This is the internal address as seen by other members of the cluster and possibly clients if they haven't configured a different external address.

Returns:
IP address or the DNS name of this ServerChannel. This should generally be the same as getInetAddress().getHostAddress().

getPublicAddress

String getPublicAddress()
Returns the IP address or the DNS name of this ServerChannel. The public address is required in order to be able to provide NAT firewall support. As such it can either be an IP address or a DNS name. Note that the server will not map between these since it is not party to addressing information outside the firewall. If no public address is set them the internal address as returned by getHostAddress() will be used. This will be resolved to an IP address by the server if it is a DNS name. Thus the public address must be set if users want to only use DNS names. If the internal address is not set then the raw address will be used.

Specified by:
getPublicAddress in interface Channel
Returns:
IP address or the DNS name of this ServerChannel.
See Also:
ServerChannel.getPublicAddress()

getPublicPort

int getPublicPort()
Get the external port for this ServerChannel. Used frequently by IIOP.

Specified by:
getPublicPort in interface Channel
Returns:
The port of this ServerChannel.
See Also:
ServerChannel.getPublicPort()

getClusterAddress

String getClusterAddress()
Returns the address of the cluster to which the server represented by this address belongs to.

Returns:
address of the cluster to which this ServerChannel belongs.

getChannelName

String getChannelName()
Returns the name of this ServerChannel. ServerChannel names are used to correlate cluster-related channels.

Returns:
the name of this ServerChannel.

getConfiguredProtocol

String getConfiguredProtocol()

The name of the protocol this network channel should use for connections. Defaults to "t3". Due to various startup timing issues, sometimes we want to know what protocol was configured without actually getting the protocol itself.

Returns:
The protocol value

getConnectTimeout

int getConnectTimeout()

The amount of time that this network channel should wait to establish an outbound socket connection before timing out. A value of 0 disables network channel connect timeout. 0 is the deafult.

Returns:
The connectTimeout value

isTunnelingEnabled

boolean isTunnelingEnabled()

Specifies whether tunneling via HTTP should be enabled for this network channel. This value is not inherited from the server's configuration. The default is false.

Returns:
The tunnelingEnabled value

getTunnelingClientTimeoutSecs

int getTunnelingClientTimeoutSecs()

The amount of time (in seconds) after which this network channel considers a missing HTTP-tunneled client to be dead. A value of -1 indicates that the network channel obtains this timeout value from the ServerMBean. (Requires you to enable tunneling for the network channel.) -1 is the default.

Returns:
The tunnelingClientTimeoutSecs value
See Also:
ServerTemplateMBean.getTunnelingClientTimeoutSecs(), ServerChannel.isTunnelingEnabled()

getUseFastSerialization

boolean getUseFastSerialization()

Specifies whether to use non-standard object serialization for performance. This option works in different ways for different protocols. In particular under IIOP this option uses Java serialization rather than RMI-IIOP serialization. In general using non-standard serialization is not suitable for interop scenarios and may imply some feature loss.

Returns:
The UseFastSerialization value

getTimeoutConnectionWithPendingResponses

boolean getTimeoutConnectionWithPendingResponses()

Determines if connections with pending responses are allowed to timeout. It defaults to false. If set to true, the connection will be timed out for this channel if it exceeds the idleConnectionTimeout value.

Note: This setting only applies to IIOP connections.

Returns:
Whether or not to timeout connections with pending responses

getLoginTimeoutMillis

int getLoginTimeoutMillis()

The amount of time that this network channel should wait for a connection before timing out. A value of 0 disables network channel login timeout. A value of -1 indicates that the network channel obtains this timeout value from the server's configuration.


getAcceptBacklog

int getAcceptBacklog()

The number of backlogged, new TCP connection requests that this network channel allows. A value of -1 indicates that the network channel obtains its backlog configuration from the server's configuration.


getMaxBackoffBetweenFailures

int getMaxBackoffBetweenFailures()

The maximum back off time between failures while accepting client connections. -1 implies that this value is inherited from the server.


isTwoWaySSLEnabled

boolean isTwoWaySSLEnabled()

Specifies whether this network channel uses two way SSL.


isClientCertificateEnforced

boolean isClientCertificateEnforced()

Specifies whether clients must present digital certificates from a trusted certificate authority to WebLogic Server on this channel.


getMaxMessageSize

int getMaxMessageSize()

The maximum message size allowable in a message header.

This maximum attempts to prevent a denial of service attack whereby a caller attempts to force the server to allocate more memory than is available thereby keeping the server from responding quickly to other requests.


getMaxConnectedClients

int getMaxConnectedClients()

The maximum number of clients that can be connected on this network channel. The default is Integer.MAX_VALUE.


getIdleConnectionTimeout

int getIdleConnectionTimeout()

The maximum amount of time (in seconds) that a connection is allowed to be idle before it is closed by this network channel. A value of -1 indicates that the network channel obtains this timeout value from the ServerMBean.

This timeout helps guard against server deadlock through too many open connections.


getCompleteMessageTimeout

int getCompleteMessageTimeout()

The maximum amount of time this network channel waits for a complete message to be received. A value of 0 disables network channel complete message timeout. A value of -1 indicates that the network channel obtains this timeout value from the ServerMBean.

This timeout helps guard against denial of service attacks in which a caller indicates that they will be sending a message of a certain size which they never finish sending.


isOutboundEnabled

boolean isOutboundEnabled()

Specifies whether new server-to-server connections may consider this network channel when initiating a connection. This is only relevant if the connection needs to be bound to the network channel's listen address. This will only work for binary protocols that support both outbound and inbound traffic.

When this feature is not enabled, connections are initiated using a local address selected by the underlying hardware.

The default is true for all admin channels and false otherwise.

Outbound channels are selected at runtime either by virtue of the fact of being the only outbound-enabled channel for the required protocol, or by name in weblogic.jndi.Environment#setProviderChannel.


isOutboundPrivateKeyEnabled

boolean isOutboundPrivateKeyEnabled()

Specifies whether the identity should be used for outbound SSL connections on this channel. In normal circumstances the outbound identity is determined by the caller's environment.


getProxyAddress

String getProxyAddress()

The IP address or DNS name of the HTTP proxy to use for outbound connections on this channel. The HTTP proxy must support the CONNECT tunneling command.

This option is only effective when OutboundEnabled is set on the channel. The default is null.


getProxyPort

int getProxyPort()

The port of the HTTP proxy to use for outbound connections on this channel. The HTTP proxy must support the CONNECT tunneling command.

This option is only effective when OutboundEnabled and ProxyHost are set on the channel.


getTunnelingClientPingSecs

int getTunnelingClientPingSecs()

The interval (in seconds) at which this network channel should ping an HTTP-tunneled client to see if its still alive. A value of -1 indicates that the network channel obtains this interval from the ServerMBean. (Requires you to enable tunneling for the network channel.)


isHttpEnabledForThisProtocol

boolean isHttpEnabledForThisProtocol()

Specifies whether HTTP traffic should be allowed over this network channel.

HTTP is generally required by binary protocols for downloading stubs and other resources.

Returns:
The httpEnabledForThisProtocol value

isSDPEnabled

boolean isSDPEnabled()

Specifies whether SDP protocol is enabled for this network channel.


isT3SenderQueueDisabled

boolean isT3SenderQueueDisabled()

Specify if the channel uses sender queue for T3 protocol or not.


getPublicAddressResolvedIfNeeded

String getPublicAddressResolvedIfNeeded()

getResolveDNSName

boolean getResolveDNSName()

Specifies if IP addresses are to be used instead of hostname for T3 communication.


isHostnameVerificationIgnored

boolean isHostnameVerificationIgnored()

Specifies whether to ignore the installed implementation of the weblogic.security.SSL.HostnameVerifier interface (when this server is acting as a client to another application server).

Returns:
The hostnameVerificationIgnored value

getHostnameVerifier

String getHostnameVerifier()

The name of the class that implements the weblogic.security.SSL.HostnameVerifier interface.

This class verifies whether the connection to the host with the hostname from URL should be allowed. The class is used to prevent man-in-the-middle attacks. The weblogic.security.SSL.HostnameVerifier has a verify() method that WebLogic Server calls on the client during the SSL handshake.

Returns:
The hostnameVerifier value

getCiphersuites

String[] getCiphersuites()

Indicates the cipher suites being used on a particular WebLogic Server channel.

The strongest negotiated cipher suite is chosen during the SSL handshake. The set of cipher suites used by default by JSEE depends on the specific JDK version with which WebLogic Server is configured.

Returns:
The ciphersuites value

isAllowUnencryptedNullCipher

boolean isAllowUnencryptedNullCipher()

When a SSL server and a SSL client try to negotiate a commonly supported Cipher, there is a chance that they may end up with nothing in common. A NullCipher is a cipher providing no encryption for the SSL message between the client and server, and it may temporarily be used in the development environment if the SSL server and client share no common cipher for some reason.

The AllowUnEncryptedNullCipher flag is used to control whether the NullCipher feature is enabled or not, if true, the SSL message may be unencrypted when SSL server and client shares no common cipher.

This AllowUnEncryptedNullCipher flag is only effective to SSL providers which support the NullCipher feature.

Warning: this NullCipher feature should NOT be enabled for a production environment, it may leads to unencrypted SSL message

Returns:
true if NullCipher feature is allowed.

getInboundCertificateValidation

String getInboundCertificateValidation()

Indicates the client certificate validation rules for inbound SSL.

This attribute only applies to ports and network channels using 2-way SSL.

Returns:
a String containing the validation style.

getOutboundCertificateValidation

String getOutboundCertificateValidation()

Indicates the server certificate validation rules for outbound SSL.

This attribute always applies to outbound SSL that is part of WebLogic Server (that is, an Administration Server talking to the Node Manager). It does not apply to application code in the server that is using outbound SSL unless the application code uses a weblogic.security.SSL.ServerTrustManager that is configured to use outbound SSL validation.

Returns:
a String containing the validation style.

Copyright 1996, 2014, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.

Oracle Fusion Middleware
Java API Reference for Oracle WebLogic Server
12c (12.1.3)

Part Number E41849-02