Application servers, by default, are configured to use
all of the network interfaces that are available for them to use.
You can change this configuration such that an application server
only uses a specific network interface. However, you cannot configure
it to use a subgroup of interfaces. For example, if you have three
ethernet adapters, you cannot configure an application server to use
two of the three adapters.
About this task
When an application server is configured to use all network
interfaces, if it opens a socket on port 9901 on a machine with two
TCP/IP addresses, it opens port 9901 on both IP addresses.
On a Microsoft® Windows® operating system, the netstat output
displays *.9901 in the Local Address field, indicating that port 9901
is bound to all network interfaces in the system.
When an application
server is configured to use a specific network interface, it only
communicates on that one network interface. For example, on a Windows
operating system, if an application server opens a socket on port
7842 on an ethernet adapter with an address of 192.168.1.150, the
netstat output displays 192.168.1.150.7842 in the Local Address field,
indicating that port 7842 is only bound to 192.168.1.150.
If you have more than one network interface and
you want to use each one separately, you must have a separate configuration
profile for each interface.
Avoid trouble:
- If you want a specific application server to use a single network
interface, perform the following steps for that application server.
- When performing the following steps, do not specify localhost,
a loop back address, such as 127.0.0.1, or an * (asterisk) for the
TCP/IP addresses.
gotcha
Procedure
- Update the com.ibm.CORBA.LocalHost and com.ibm.ws.orb.transport.useMultiHome
Object Request Broker (ORB) custom properties.
- In the administrative console, navigate to the indicated
page. Click server_name. Then in the Additional Properties section, click .
- Select the com.ibm.CORBA.LocalHost custom property and
specify an IP address or hostname in the Value field. Do
not set this property to either localhost or *.
If the com.ibm.CORBA.LocalHost
property is not in the list of already defined custom properties,
click New and then enter com.ibm.CORBA.LocalHost in
the Name field and specify an IP address or hostname in the Value
field.
- Select the com.ibm.ws.orb.transport.useMultiHome custom
property and specify false in the Value field.
If the com.ibm.ws.orb.transport.useMultiHome property is not
in the list of already defined custom properties, click and then enter com.ibm.ws.orb.transport.useMultiHome in
the Name field and specify false in the Value field.
- Update the Java™ virtual
machine (JVM) com.ibm.websphere.network.useMultiHome custom property
for discovery and SOAP connections.
- In the administrative console, navigate to the indicated
page. Click server_name
- Select the com.ibm.websphere.network.useMultiHome custom
property and specify false in the Value field.
If the com.ibm.websphere.network.useMultiHome property is not
in the list of already defined custom properties, click and then enter com.ibm.websphere.network.useMultiHome in
the Name field and specify false in the Value field.
- Update the host name for TCP/IP connections.
- In the administrative console, navigate to the indicated
page. Click server_name, and then, under Communications,
click .
- Update the Host field for each of the listed ports to
the value specified for the com.ibm.CORBA.LocalHost ORB custom property
in the first step. When you finish, none of the entries
listed in the Host column should contain an * (asterisk).
- Change the Initial State setting for each of the JMS servers
to Stopped .
- In the administrative console, click
- Click one of the listed JMS servers and change the value
specified for the Initial State field to Stopped.
- Repeat the previous step until the Initial State setting
for all of the listed JMS servers is Stopped.
- Change the Initial State setting for each of the listener
ports to Stopped .
- In the administrative console, click server_name.
- Under Communications, click .
- Click one of the listed listener ports and change the
value specified for the Initial State field to Stopped.
- Repeat the previous step until the Initial State setting
for all of the listed listener ports is Stopped.
- Save your changes.
- In the administrative console, click .
- Click .
- Stop and restart the application
server .
Results
You have configured an installation of WebSphere® Application Server to communicate on one, and only one network interface on a
machine that has more than one network interface.
Example
This example creates two application
servers, each using a different network interface, on a machine that
has at least two network interfaces:
- Use the Profile Management tool to create an application server
profile.
- Use the Profile Management tool to create a second application
server profile, specifying a host name that is different than the
host name used for the previously created application server.
- Start the application server that is configured to the first network
interface. Follow the preceding steps to prepare this server to communicate
on the network interface that you specified when you configured this
application server.
- Start the second application server. Follow the preceding steps
to prepare this server to communicate only on the network interface
you specified when you configured this second application server.
- Stop both of the application servers that you created in this
example.
- Restart both of these application servers.
You have two separate nodes running on two different network
interfaces.
What to do next
If you are using a standalone Java client or server to communicate
with
WebSphere Application Server, and you are using the
WebSphere Application Server Software Development Kit (SDK), add the following
properties to your Java command to enable the ORB for your application
to communicate with a specific network interface.
-Dcom.ibm.ws.orb.transport.useMultiHome=false
-Dcom.ibm.CORBA.LocalHost=host_name
host_name is
the TCP/IP address or hostname of the network interface for
the ORB to use.
Avoid trouble: Do not set
host_name to
localhost, a loop back address, such as 127.0.0.1, or an * (asterisk).
gotcha