Файл конфигурации плагина (plugin-cfg.xml) содержит информацию по маршрутизации для всех приложений, связанных с Web-сервером. Данный файл читается бинарным модулем плагина, загруженного в Web-сервер. Примером бинарного модуля плагина является файл mod_ibm_app_server_http.dll для IBM HTTP Server на платформе Windows.
Бинарный модуль плагина не изменяется. Однако файл конфигурации для этого модуля нужно генерировать заново и передавать на Web-сервер каждый раз, когда изменяется конфигурация приложений, связанных с Web-сервером. Бинарный модуль читает XML-файл, что позволяет ему настроить параметры и найти размещенные приложения, связанные с Web-сервером.
В примере 7.2 показан фрагмент из сгенерированного файла конфигурации плагина.
Пример 7.2. Фрагмент файла plugin-cfg.xml
<?xml version=»1.0» encoding=»ISO-8859-1»?><!—HTTP server plugin config file for the webserver ITSOCell.wan.webserver1 generated on 2004.10.29 at 03:32:12 PM BST—>
<Config ASDisableNagle=»false» AcceptAllContent=»false»
AppServerPortPreference=»HostHeader» ChunkedResponse=»false»
IISDisableNagle=»false» IISPluginPriority=»High» IgnoreDNSFailures=»false» RefreshInterval=»60» ResponseChunkSize=»64» VHostMatchingCompat=»false»> <Log LogLevel=»Error»
Name=»c:optWebSpherePluginslogswebserver1http_plugin.log»/> <Property Name=»ESIEnable» Value=»true»/>
<Property Name=»ESIMaxCacheSize» Value=»1024»/>
<Property Name=»ESIInvalidationMonitor» Value=»false»/>
<VirtualHostGroup Name=»default_host»>
<VirtualHost Name=»*:9080»/>
<VirtualHost Name=»*:80»/> <VirtualHost Name=»*:9443»/> </VirtualHostGroup>
<ServerCluster CloneSeparatorChange=»false» LoadBalance=»Round Robin»
Name=»server1_NodeA_Cluster» PostSizeLimit=»-1» RemoveSpecialHeaders=»true» RetryInterval=»60»>
<Server ConnectTimeout=»0» ExtendedHandshake=»false» MaxConnections=»-1» Name=»NodeA_server1» WaitForContinue=»false»>
<Transport Hostname=»wan» Port=»9080» Protocol=»http»/> <Transport Hostname=»wan» Port=»9443» Protocol=»https»> <Property Name=»keyring»
Value=»c:optWebSpherePluginsetcplugin-key.kdb»/> <Property Name=»stashfile»
Value=»c:optWebSpherePluginsetcplugin-key.sth»/>
</Transport> </Server>
</ServerCluster>
<UriGroup Name=»default_host_server1_NodeA_Cluster_URIs»>
<Uri AffinityCookie=»JSESSIONID» AffinityURLIdentifier=»jsessionid» Name=»/snoop/*»/>
<Uri AffinityCookie=»JSESSIONID» AffinityURLIdentifier=»jsessionid» Name=»/hello»/>
</UriGroup>
<Route ServerCluster=»server1_NodeA_Cluster»
UriGroup=»default_host_server1_NodeA_Cluster_URIs» VirtualHostGroup=»default_host»/>
</Config>
Конкретные значения атрибутов UriGroup Name и AffinityCookie зависят от сборки приложения. При сборе приложения:
Если вы указали опцию File Serving Enabled (Включено предоставление по файлам), то генерируется только шаблонный URI, независимо от явных связей сервлетов.
Если вы указали опцию Serve servlets by class name (Предоставлять сервлеты по имени класса), то генерируется URI в форме Имя URI = <uri_web_приложения>/servlet/.
Обе эти опции применяются к обоим атрибутам — UriGroup Name и AffinityCookie. Когда генерируется файл конфигурации плагина, он не включает в список виртуальных хостов хост admin_host. За информацией о том, как добавить его в этот список, обращайтесь к теме «Allowing Web servers to access the administrative console» (Разрешение доступа Web-серверов к административной консоли) Центра информации.