Setting up multiple transports
If you define multiple transports of the same type (for example, HTTP) for one appserver, the plug-in will try to cross reference a port number specified in the VirtualHostGroup to a transport specified for a plug-in member.
An example of the type of plug-in configuration needed for this to occur is shown in Figure 5-1.
Example 5-1 Extract of plugin-cfg.xml showing multiple transports
<VirtualHostGroup Name="PluginVirtualHost"> <VirtualHost Name="*:9088"/> <VirtualHost Name="web2:80"/> </VirtualHostGroup> <ServerCluster CloneSeparatorChange="false" LoadBalance="Round Robin" Name="PluginCluster" PostSizeLimit="-1" RemoveSpecialHeaders="true" RetryInterval="60"> <Server CloneID="v544d031" ConnectTimeout="0" ExtendedHandshake="false" LoadBalanceWeight="8" MaxConnections="-1" Name="was1node_PluginMember1" WaitForContinue="false"> <Transport Hostname="app1.itso.ibm.com" Port="9088" Protocol="http"/> <Transport Hostname="app1.itso.ibm.com" Port="9095" Protocol="http"/> <Transport Hostname="app1.itso.ibm.com" Port="9099" Protocol="http"/> </Server> <Server CloneID="v544d0o0" ConnectTimeout="0" ExtendedHandshake="false" LoadBalanceWeight="2" MaxConnections="-1" Name="was2Node_PluginMember2" WaitForContinue="false"> <Transport Hostname="app2.itso.ibm.com" Port="9086" Protocol="http"/> </Server> <PrimaryServers> <Server Name="was1node_PluginMember1"/> <Server Name="was2Node_PluginMember2"/> </PrimaryServers> </ServerCluster> <UriGroup Name="PluginVirtualHost_PluginCluster_URIs"> <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/snoop/*"/> <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/hello"/> <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/hitcount"/> <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="*.jsp"/> <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="*.jsv"/> <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="*.jsw"/> <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/j_security_check"/> <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/ibm_security_logout"/> <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/servlet/*"/> </UriGroup> <Route ServerCluster="PluginCluster" UriGroup="PluginVirtualHost_PluginCluster_URIs" VirtualHostGroup="PluginVirtualHost"/>
Using Example 5-1, if a request to http://web2/snoop was sent to the plug-in and PluginMember1 was chosen for the request, the request would be sent to app1.itso.ibm.com on port 9088. This is because the plug-in has cross referenced the ports specified in the transports of PluginMember1 and the ports specified in the VirtualHostGroup PluginVirtualHost. The match between the two is port 9088; hence the request is sent to the transport on port 9088. If no match is found, then the last transport for PluginMember1 is used, in this case port 9099.
Note: Adding additional transport definitions will not increase the load balancing or failover capabilities of an appserver.
Prev | Home | Next WebSphere is a trademark of the IBM Corporation in the United States, other countries, or both.
IBM is a trademark of the IBM Corporation in the United States, other countries, or both.