admin@glassfish.java.net

Re: web container and multiple configs

From: Jan Luehe <jan.luehe_at_oracle.com>
Date: Fri, 16 Apr 2010 08:43:57 -0700

Jennifer Chou wrote:
> This behavior is different then from v2.x?
> In v2.1.1, I could create-virtual-server server2 for 3 different
> targets (server, cluster1, instance1) under one domain. It only did
> not allow me to add a duplicate for the same target.

Hi Amy, can you please look into this?

The GF 2.1.1 source to look at is the constructor in
appserv-core/src/java/com/sun/enterprise/web/WebContainer.java.

Is is possible that we instantiated a new WebContainer (and from it,
EmbeddedWebContainer) instance for each target? Was a target represented
by the "ServerContext" argument passed to the WebContainer constructor:

    protected WebContainer(String id, ServerContext context) {
        _id = id;
        _serverContext = context;
        _configContext = _serverContext.getConfigContext();


Thanks!


Jan

>
> C:\glassfishv2.1.1\glassfish\bin>asadmin create-virtual-server --user
> admin --passwordfile "c:\Documents and Settings\Jennifer\My
> Documents\asadminpassword.txt"
> --port 6868 --hosts localhost server2
> Command create-virtual-server executed successfully.
>
> C:\glassfishv2.1.1\glassfish\bin>asadmin create-virtual-server --user
> admin --passwordfile "c:\Documents and Settings\Jennifer\My
> Documents\asadminpassword.txt"
> --port 6868 --hosts localhost server2
> VirtualServer already exists: cannot add duplicate
> CLI137 Command create-virtual-server failed.
>
> C:\glassfishv2.1.1\glassfish\bin>asadmin create-virtual-server --user
> admin --passwordfile "c:\Documents and Settings\Jennifer\My
> Documents\asadminpassword.txt"
> --port 6868 --hosts localhost --target cluster1 server2
> Command create-virtual-server executed successfully.
>
> C:\glassfishv2.1.1\glassfish\bin>asadmin create-virtual-server --user
> admin --passwordfile "c:\Documents and Settings\Jennifer\My
> Documents\asadminpassword.txt"
> --port 6868 --hosts localhost --target instance1 server2
> Command create-virtual-server executed successfully.
>
> On 4/16/2010 2:58 AM, Jan Luehe wrote:
>> Hi Jennifer,
>>
>> Jennifer Chou wrote:
>>> any thoughts? If the default-config is added to domain.xml and so
>>> both server-config and default-config are in the habitat, what
>>> should the web container do with default-config? I mean it probably
>>> should not create the http-listener and virtual server etc for
>>> default-config, right?
>>
>> Yeah, I would think so.
>>
>> com.sun.enterprise.web.WebContainer#postConstruct (in web/web-glue)
>> currently enumerates over all configs and creates listeners and
>> virtual servers for each, as follows:
>>
>> List<Config> configs = domain.getConfigs().getConfig();
>> for (Config aConfig : configs) {
>> HttpService httpService = aConfig.getHttpService();
>> NetworkConfig networkConfig = aConfig.getNetworkConfig();
>> [...]
>> // Configure virtual servers
>> createHosts(httpService, securityService);
>> }
>>
>> Since we create only a single WebContainer, the above will work only
>> if the network-listeners and virtual-servers have names that are
>> unique across all configs.
>>
>> Jan
>>
>>>
>>> On 4/14/2010 8:50 PM, Jennifer Chou wrote:
>>>> If I don't use the ${} tokens for http listener, I get the
>>>> following error when adding default-config to domain.xml (See below
>>>> for the error using tokens)
>>>> Even if virtual server id is unique across domain, it shouldn't
>>>> apply to default-config? because it's just a template?
>>>>
>>>> [#|2010-04-14T16:41:12.234+0100|SEVERE|glassfishv3.0|javax.enterprise.system.container.web.com.sun.enterprise.v3.services.impl|_ThreadID=15;_ThreadName=Configuration
>>>> Updater;|Unable to start container com.sun.enterprise.web.WebContainer
>>>> java.lang.IllegalArgumentException: addChild: Child name 'server'
>>>> is not unique
>>>>
>>>> at
>>>> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:907)
>>>>
>>>> at
>>>> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:897)
>>>>
>>>> at
>>>> org.apache.catalina.core.StandardEngine.addChild(StandardEngine.java:351)
>>>>
>>>> at
>>>> com.sun.enterprise.web.WebContainer.createHost(WebContainer.java:1168)
>>>> at
>>>> com.sun.enterprise.web.WebContainer.createHosts(WebContainer.java:1104)
>>>>
>>>> at
>>>> com.sun.enterprise.web.WebContainer.postConstruct(WebContainer.java:541)
>>>>
>>>> at
>>>> com.sun.hk2.component.AbstractWombImpl.inject(AbstractWombImpl.java:174)
>>>>
>>>> at
>>>> com.sun.hk2.component.ConstructorWomb$1.run(ConstructorWomb.java:87)
>>>> at java.security.AccessController.doPrivileged(Native Method)
>>>> at
>>>> com.sun.hk2.component.ConstructorWomb.initialize(ConstructorWomb.java:84)
>>>>
>>>> at
>>>> com.sun.hk2.component.AbstractWombImpl.get(AbstractWombImpl.java:77)
>>>> at
>>>> com.sun.hk2.component.SingletonInhabitant.get(SingletonInhabitant.java:58)
>>>>
>>>> at
>>>> com.sun.hk2.component.LazyInhabitant.get(LazyInhabitant.java:107)
>>>> at
>>>> com.sun.hk2.component.AbstractInhabitantImpl.get(AbstractInhabitantImpl.java:60)
>>>>
>>>> at
>>>> org.glassfish.internal.data.EngineInfo.getContainer(EngineInfo.java:91)
>>>>
>>>> at
>>>> com.sun.enterprise.v3.services.impl.WebContainerStarter.startWebContainer(WebContainerStarter.java:198)
>>>>
>>>> at
>>>> com.sun.enterprise.v3.services.impl.WebContainerStarter.postConstruct(WebContainerStarter.java:132)
>>>>
>>>> at
>>>> com.sun.hk2.component.AbstractWombImpl.inject(AbstractWombImpl.java:174)
>>>>
>>>> at
>>>> com.sun.hk2.component.ConstructorWomb$1.run(ConstructorWomb.java:87)
>>>> at java.security.AccessController.doPrivileged(Native Method)
>>>> at
>>>> com.sun.hk2.component.ConstructorWomb.initialize(ConstructorWomb.java:84)
>>>>
>>>> at
>>>> com.sun.hk2.component.AbstractWombImpl.get(AbstractWombImpl.java:77)
>>>> at
>>>> com.sun.hk2.component.SingletonInhabitant.get(SingletonInhabitant.java:58)
>>>>
>>>> at
>>>> com.sun.hk2.component.LazyInhabitant.get(LazyInhabitant.java:107)
>>>> at
>>>> com.sun.hk2.component.AbstractInhabitantImpl.get(AbstractInhabitantImpl.java:60)
>>>>
>>>> at
>>>> com.sun.enterprise.v3.server.AppServerStartup.run(AppServerStartup.java:236)
>>>>
>>>> at
>>>> com.sun.enterprise.v3.server.AppServerStartup.start(AppServerStartup.java:128)
>>>>
>>>> at
>>>> com.sun.enterprise.module.bootstrap.Main.launch(Main.java:456)
>>>> at
>>>> com.sun.enterprise.module.bootstrap.Main.launch(Main.java:400)
>>>> at
>>>> org.jvnet.hk2.osgiadapter.HK2Main$StartupContextService.updated(HK2Main.java:102)
>>>>
>>>> at
>>>> org.apache.felix.cm.impl.ConfigurationManager$UpdateConfiguration.run(ConfigurationManager.java:1389)
>>>>
>>>> at
>>>> org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:88)
>>>> |#]
>>>>
>>>>
>>>> Here's the parse error if I use the tokens for http listener:
>>>>
>>>> [#|2010-04-14T17:37:03.500+0100|SEVERE|glassfishv3.0|javax.enterprise.system.container.web.com.sun.enterprise.v3.services.impl|_ThreadID=15;_ThreadName=Configuration
>>>> Updater;|Unable to start container com.sun.enterprise.web.WebContainer
>>>> java.lang.IllegalArgumentException: WEB0313: Unable to parse port
>>>> number ${HTTP_SSL_LISTENER_PORT} of network-listener http-listener-2
>>>> at
>>>> com.sun.enterprise.web.WebContainer.createHttpListener(WebContainer.java:769)
>>>>
>>>> at
>>>> com.sun.enterprise.web.WebContainer.createHttpListener(WebContainer.java:746)
>>>>
>>>> at
>>>> com.sun.enterprise.web.WebContainer.postConstruct(WebContainer.java:532)
>>>>
>>>> at
>>>> com.sun.hk2.component.AbstractWombImpl.inject(AbstractWombImpl.java:174)
>>>>
>>>> at
>>>> com.sun.hk2.component.ConstructorWomb$1.run(ConstructorWomb.java:87)
>>>> at java.security.AccessController.doPrivileged(Native Method)
>>>> at
>>>> com.sun.hk2.component.ConstructorWomb.initialize(ConstructorWomb.java:84)
>>>>
>>>> at
>>>> com.sun.hk2.component.AbstractWombImpl.get(AbstractWombImpl.java:77)
>>>> at
>>>> com.sun.hk2.component.SingletonInhabitant.get(SingletonInhabitant.java:58)
>>>>
>>>> at
>>>> com.sun.hk2.component.LazyInhabitant.get(LazyInhabitant.java:107)
>>>> at
>>>> com.sun.hk2.component.AbstractInhabitantImpl.get(AbstractInhabitantImpl.java:60)
>>>>
>>>> at
>>>> org.glassfish.internal.data.EngineInfo.getContainer(EngineInfo.java:91)
>>>>
>>>> at
>>>> com.sun.enterprise.v3.services.impl.WebContainerStarter.startWebContainer(WebContainerStarter.java:198)
>>>>
>>>> at
>>>> com.sun.enterprise.v3.services.impl.WebContainerStarter.postConstruct(WebContainerStarter.java:132)
>>>>
>>>> at
>>>> com.sun.hk2.component.AbstractWombImpl.inject(AbstractWombImpl.java:174)
>>>>
>>>> at
>>>> com.sun.hk2.component.ConstructorWomb$1.run(ConstructorWomb.java:87)
>>>> at java.security.AccessController.doPrivileged(Native Method)
>>>> at
>>>> com.sun.hk2.component.ConstructorWomb.initialize(ConstructorWomb.java:84)
>>>>
>>>> at
>>>> com.sun.hk2.component.AbstractWombImpl.get(AbstractWombImpl.java:77)
>>>> at
>>>> com.sun.hk2.component.SingletonInhabitant.get(SingletonInhabitant.java:58)
>>>>
>>>> at
>>>> com.sun.hk2.component.LazyInhabitant.get(LazyInhabitant.java:107)
>>>> at
>>>> com.sun.hk2.component.AbstractInhabitantImpl.get(AbstractInhabitantImpl.java:60)
>>>>
>>>> at
>>>> com.sun.enterprise.v3.server.AppServerStartup.run(AppServerStartup.java:236)
>>>>
>>>> at
>>>> com.sun.enterprise.v3.server.AppServerStartup.start(AppServerStartup.java:128)
>>>>
>>>> at
>>>> com.sun.enterprise.module.bootstrap.Main.launch(Main.java:456)
>>>> at
>>>> com.sun.enterprise.module.bootstrap.Main.launch(Main.java:400)
>>>> at
>>>> org.jvnet.hk2.osgiadapter.HK2Main$StartupContextService.updated(HK2Main.java:102)
>>>>
>>>> at
>>>> org.apache.felix.cm.impl.ConfigurationManager$UpdateConfiguration.run(ConfigurationManager.java:1389)
>>>>
>>>> at
>>>> org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:88)
>>>> |#]
>>>>
>>>> On 4/14/2010 8:33 PM, Shing Wai Chan wrote:
>>>>> cc. Jan
>>>>> I think we want uniqueness across the domain.
>>>>> What errors do you get?
>>>>> Shing Wai Chan
>>>>>
>>>>> On 4/14/10 11:13 AM, Oleksiy Stashok wrote:
>>>>>> Hi Jennifer,
>>>>>>
>>>>>> I don't have any info about clustering and web config in GFv3.
>>>>>> cc'ing Shing Wai, think he has better understanding about that.
>>>>>>
>>>>>> WBR.
>>>>>> Alexey.
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Apr 14, 2010, at 19:17 , Jennifer Chou wrote:
>>>>>>
>>>>>>> Hi Alexey,
>>>>>>>
>>>>>>> Is the virtual server ID a unique ID under the domain, or within
>>>>>>> a cluster?
>>>>>>> I was trying to add default-config to domain.xml, but got some
>>>>>>> web container errors. I guess the web container is not ready
>>>>>>> for multiple configs?
>>>>>>> When the default config had a virtual server id = "server" there
>>>>>>> was a web container error saying it's not unique. But web
>>>>>>> container probably should not create these for default-config?
>>>>>>> Attached is the default-config. If you add it to domain.xml
>>>>>>> under configs, you will see the error when starting domain.
>>>>>>> (Also, saw some parse errors for http listener when using the
>>>>>>> tokens too. You can see those errors too if you switch to using
>>>>>>> tokens.)
>>>>>>>
>>>>>>> Jennifer
>>>>>>> <config name="default-config">
>>>>>>> <http-service>
>>>>>>> <access-log />
>>>>>>> <virtual-server id="server" network-listeners="http-listener-1,
>>>>>>> http-listener-2">
>>>>>>> <property name="default-web-xml"
>>>>>>> value="${com.sun.aas.instanceRoot}/config/default-web.xml" />
>>>>>>> </virtual-server>
>>>>>>> </http-service>
>>>>>>> <iiop-service>
>>>>>>> <orb use-thread-pool-ids="thread-pool-1" />
>>>>>>> <iiop-listener port="${IIOP_LISTENER_PORT}" id="orb-listener-1"
>>>>>>> address="0.0.0.0" />
>>>>>>> <iiop-listener port="${IIOP_SSL_LISTENER_PORT}" id="SSL"
>>>>>>> address="0.0.0.0" security-enabled="true">
>>>>>>> <ssl cert-nickname="s1as" />
>>>>>>> </iiop-listener>
>>>>>>> <iiop-listener port="33920" id="${IIOP_SSL_MUTUALAUTH_PORT}"
>>>>>>> address="0.0.0.0" security-enabled="true">
>>>>>>> <ssl cert-nickname="s1as" client-auth-enabled="true" />
>>>>>>> </iiop-listener>
>>>>>>> </iiop-service>
>>>>>>> <admin-service system-jmx-connector-name="system">
>>>>>>> <jmx-connector port="${JMX_SYSTEM_CONNECTOR_PORT}"
>>>>>>> address="0.0.0.0" name="system" auth-realm-name="admin-realm" />
>>>>>>> <das-config dynamic-reload-enabled="true"
>>>>>>> autodeploy-dir="${com.sun.aas.instanceRoot}/autodeploy"
>>>>>>> autodeploy-enabled="true" />
>>>>>>> </admin-service>
>>>>>>> <web-container>
>>>>>>> <session-config>
>>>>>>> <session-manager>
>>>>>>> <manager-properties />
>>>>>>> <store-properties />
>>>>>>> </session-manager>
>>>>>>> <session-properties />
>>>>>>> </session-config>
>>>>>>> </web-container>
>>>>>>> <ejb-container
>>>>>>> session-store="${com.sun.aas.instanceRoot}/session-store">
>>>>>>> <ejb-timer-service />
>>>>>>> </ejb-container>
>>>>>>> <mdb-container />
>>>>>>> <jms-service addresslist-behavior="priority"
>>>>>>> default-jms-host="default_JMS_host" type="LOCAL">
>>>>>>> <jms-host port="${JMS_PROVIDER_PORT}" host="%%%HOST_NAME%%%"
>>>>>>> name="default_JMS_host"
>>>>>>> admin-password="%%%JMS_PROVIDER_PASSWORD%%%"
>>>>>>> admin-user-name="%%%JMS_PROVIDER_USERID%%%" />
>>>>>>> </jms-service>
>>>>>>> <log-service log-rotation-limit-in-bytes="2000000"
>>>>>>> file="${com.sun.aas.instanceRoot}/logs/server.log">
>>>>>>> <module-log-levels />
>>>>>>> </log-service>
>>>>>>> <security-service>
>>>>>>> <auth-realm
>>>>>>> classname="com.sun.enterprise.security.auth.realm.file.FileRealm"
>>>>>>> name="admin-realm">
>>>>>>> <property name="file"
>>>>>>> value="${com.sun.aas.instanceRoot}/config/admin-keyfile" />
>>>>>>> <property name="jaas-context" value="fileRealm" />
>>>>>>> </auth-realm>
>>>>>>> <auth-realm
>>>>>>> classname="com.sun.enterprise.security.auth.realm.file.FileRealm"
>>>>>>> name="file">
>>>>>>> <property name="file"
>>>>>>> value="${com.sun.aas.instanceRoot}/config/keyfile" />
>>>>>>> <property name="jaas-context" value="fileRealm" />
>>>>>>> </auth-realm>
>>>>>>> <auth-realm
>>>>>>> classname="com.sun.enterprise.security.auth.realm.certificate.CertificateRealm"
>>>>>>> name="certificate" />
>>>>>>> <jacc-provider
>>>>>>> policy-provider="com.sun.enterprise.security.provider.PolicyWrapper"
>>>>>>> name="default"
>>>>>>> policy-configuration-factory-provider="com.sun.enterprise.security.provider.PolicyConfigurationFactoryImpl">
>>>>>>>
>>>>>>> <property name="repository"
>>>>>>> value="${com.sun.aas.instanceRoot}/generated/policy" />
>>>>>>> </jacc-provider>
>>>>>>> <jacc-provider
>>>>>>> policy-provider="com.sun.enterprise.security.jacc.provider.SimplePolicyProvider"
>>>>>>> name="simple"
>>>>>>> policy-configuration-factory-provider="com.sun.enterprise.security.jacc.provider.SimplePolicyConfigurationFactory"
>>>>>>> />
>>>>>>> <audit-module classname="com.sun.enterprise.security.Audit"
>>>>>>> name="default">
>>>>>>> <property name="auditOn" value="false" />
>>>>>>> </audit-module>
>>>>>>> <message-security-config auth-layer="SOAP">
>>>>>>> <provider-config provider-type="client"
>>>>>>> provider-id="XWS_ClientProvider"
>>>>>>> class-name="com.sun.xml.wss.provider.ClientSecurityAuthModule">
>>>>>>> <request-policy auth-source="content" />
>>>>>>> <response-policy auth-source="content" />
>>>>>>> <property name="encryption.key.alias" value="s1as" />
>>>>>>> <property name="signature.key.alias" value="s1as" />
>>>>>>> <property name="dynamic.username.password" value="false" />
>>>>>>> <property name="debug" value="false" />
>>>>>>> </provider-config>
>>>>>>> <provider-config provider-type="client"
>>>>>>> provider-id="ClientProvider"
>>>>>>> class-name="com.sun.xml.wss.provider.ClientSecurityAuthModule">
>>>>>>> <request-policy auth-source="content" />
>>>>>>> <response-policy auth-source="content" />
>>>>>>> <property name="encryption.key.alias" value="s1as" />
>>>>>>> <property name="signature.key.alias" value="s1as" />
>>>>>>> <property name="dynamic.username.password" value="false" />
>>>>>>> <property name="debug" value="false" />
>>>>>>> <property name="security.config"
>>>>>>> value="${com.sun.aas.instanceRoot}/config/wss-server-config-1.0.xml"
>>>>>>> />
>>>>>>> </provider-config>
>>>>>>> <provider-config provider-type="server"
>>>>>>> provider-id="XWS_ServerProvider"
>>>>>>> class-name="com.sun.xml.wss.provider.ServerSecurityAuthModule">
>>>>>>> <request-policy auth-source="content" />
>>>>>>> <response-policy auth-source="content" />
>>>>>>> <property name="encryption.key.alias" value="s1as" />
>>>>>>> <property name="signature.key.alias" value="s1as" />
>>>>>>> <property name="debug" value="false" />
>>>>>>> </provider-config>
>>>>>>> <provider-config provider-type="server"
>>>>>>> provider-id="ServerProvider"
>>>>>>> class-name="com.sun.xml.wss.provider.ServerSecurityAuthModule">
>>>>>>> <request-policy auth-source="content" />
>>>>>>> <response-policy auth-source="content" />
>>>>>>> <property name="encryption.key.alias" value="s1as" />
>>>>>>> <property name="signature.key.alias" value="s1as" />
>>>>>>> <property name="debug" value="false" />
>>>>>>> <property name="security.config"
>>>>>>> value="${com.sun.aas.instanceRoot}/config/wss-server-config-1.0.xml"
>>>>>>> />
>>>>>>> </provider-config>
>>>>>>> </message-security-config>
>>>>>>> </security-service>
>>>>>>> <transaction-service
>>>>>>> tx-log-dir="${com.sun.aas.instanceRoot}/logs"
>>>>>>> automatic-recovery="true" />
>>>>>>> <monitoring-service>
>>>>>>> <module-monitoring-levels transaction-service="HIGH"
>>>>>>> web-services-container="HIGH" ejb-container="HIGH" jersey="HIGH"
>>>>>>> jpa="HIGH" jvm="HIGH" thread-pool="HIGH" security="HIGH"
>>>>>>> web-container="HIGH" jdbc-connection-pool="HIGH" orb="HIGH"
>>>>>>> http-service="HIGH" connector-connection-pool="HIGH"
>>>>>>> jms-service="HIGH" connector-service="HIGH" />
>>>>>>> </monitoring-service>
>>>>>>> <diagnostic-service />
>>>>>>> <java-config debug-options="-Xdebug
>>>>>>> -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9009"
>>>>>>> system-classpath="" classpath-suffix="">
>>>>>>> <jvm-options>-XX:MaxPermSize=192m</jvm-options>
>>>>>>> <jvm-options>-server</jvm-options>
>>>>>>> <jvm-options>-XX:+UnlockDiagnosticVMOptions</jvm-options>
>>>>>>> <jvm-options>-XX:+LogVMOutput</jvm-options>
>>>>>>> <jvm-options>-XX:LogFile=${com.sun.aas.instanceRoot}/logs/jvm.log</jvm-options>
>>>>>>>
>>>>>>> <jvm-options>-Djava.endorsed.dirs=${com.sun.aas.installRoot}/modules/endorsed${path.separator}${com.sun.aas.installRoot}/lib/endorsed</jvm-options>
>>>>>>>
>>>>>>> <jvm-options>-Djava.security.policy=${com.sun.aas.instanceRoot}/config/server.policy</jvm-options>
>>>>>>>
>>>>>>> <jvm-options>-Djava.security.auth.login.config=${com.sun.aas.instanceRoot}/config/login.conf</jvm-options>
>>>>>>>
>>>>>>> <jvm-options>-Dcom.sun.enterprise.security.httpsOutboundKeyAlias=s1as</jvm-options>
>>>>>>>
>>>>>>> <jvm-options>-Djavax.net.ssl.keyStore=${com.sun.aas.instanceRoot}/config/keystore.jks</jvm-options>
>>>>>>>
>>>>>>> <jvm-options>-Djavax.net.ssl.trustStore=${com.sun.aas.instanceRoot}/config/cacerts.jks</jvm-options>
>>>>>>>
>>>>>>> <jvm-options>-Djava.ext.dirs=${com.sun.aas.javaRoot}/lib/ext${path.separator}${com.sun.aas.javaRoot}/jre/lib/ext${path.separator}${com.sun.aas.instanceRoot}/lib/ext</jvm-options>
>>>>>>>
>>>>>>> <jvm-options>-Djdbc.drivers=org.apache.derby.jdbc.ClientDriver</jvm-options>
>>>>>>>
>>>>>>> <jvm-options>-DANTLR_USE_DIRECT_CLASS_LOADING=true</jvm-options>
>>>>>>> <jvm-options>-Dcom.sun.enterprise.config.config_environment_factory_class=com.sun.enterprise.config.serverbeans.AppserverConfigEnvironmentFactory</jvm-options>
>>>>>>>
>>>>>>> <jvm-options>-XX:NewRatio=2</jvm-options>
>>>>>>> <jvm-options>-Xmx512m</jvm-options>
>>>>>>> </java-config>
>>>>>>> <availability-service>
>>>>>>> <web-container-availability persistence-scope="session"
>>>>>>> availability-enabled="true"
>>>>>>> http-session-store-pool-name="jdbc/hastore"
>>>>>>> persistence-frequency="web-method" persistence-type="ha" />
>>>>>>> <ejb-container-availability availability-enabled="true"
>>>>>>> sfsb-store-pool-name="jdbc/hastore" />
>>>>>>> <jms-availability availability-enabled="false" />
>>>>>>> </availability-service>
>>>>>>> <network-config>
>>>>>>> <protocols>
>>>>>>> <protocol name="http-listener-1">
>>>>>>> <http default-virtual-server="server" server-name="">
>>>>>>> <file-cache />
>>>>>>> </http>
>>>>>>> </protocol>
>>>>>>> <protocol security-enabled="true" name="http-listener-2">
>>>>>>> <http default-virtual-server="server" server-name="">
>>>>>>> <file-cache />
>>>>>>> </http>
>>>>>>> <ssl ssl3-enabled="false" cert-nickname="s1as" />
>>>>>>> </protocol>
>>>>>>> </protocols>
>>>>>>> <network-listeners>
>>>>>>> <network-listener port="38080" protocol="http-listener-1"
>>>>>>> transport="tcp" name="http-listener-1"
>>>>>>> thread-pool="http-thread-pool" />
>>>>>>> <network-listener port="38181" protocol="http-listener-2"
>>>>>>> transport="tcp" name="http-listener-2"
>>>>>>> thread-pool="http-thread-pool" />
>>>>>>> </network-listeners>
>>>>>>> <transports>
>>>>>>> <transport name="tcp" />
>>>>>>> </transports>
>>>>>>> </network-config>
>>>>>>> <thread-pools>
>>>>>>> <thread-pool name="http-thread-pool" />
>>>>>>> <thread-pool name="thread-pool-1" max-thread-pool-size="200" />
>>>>>>> </thread-pools>
>>>>>>> <group-management-service ping-protocol-timeout-in-millis="5000" />
>>>>>>> <management-rules />
>>>>>>> <system-property name="HTTP_LISTENER_PORT" value="38080" />
>>>>>>> <system-property name="HTTP_SSL_LISTENER_PORT" value="38181" />
>>>>>>> <system-property name="JMS_PROVIDER_PORT" value="37676" />
>>>>>>> <system-property name="IIOP_LISTENER_PORT" value="33700" />
>>>>>>> <system-property name="IIOP_SSL_LISTENER_PORT" value="33820" />
>>>>>>> <system-property name="IIOP_SSL_MUTUALAUTH_PORT" value="33920" />
>>>>>>> <system-property name="JMX_SYSTEM_CONNECTOR_PORT" value="38686" />
>>>>>>> </config>
>>>>>>
>>>>>
>>>>
>>