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.