admin@glassfish.java.net

Re: web container and multiple configs

From: Amy Roh <amy.roh_at_oracle.com>
Date: Fri, 16 Apr 2010 12:29:07 -0700

Jan Luehe wrote:
> 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:

It appears that a WebContainer is instantiated for each target since it
allowed to add the same named virtual-server for different targets.
I'll take a look at how we achieved this in v2 to confirm that we
allowed multiple WebContainer instances. Similar needs to be done for
v3 also.

Amy

>
> 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>
>>>>>>>
>>>>>>
>>>>>
>>>
>