admin@glassfish.java.net

Re: [V3] domain.xml DTD diffs for new <network-config> element

From: Lloyd Chambers <Lloyd.Chambers_at_Sun.COM>
Date: Fri, 01 Aug 2008 08:53:06 -0700

Jan,

Thanks.

 From my point of view (as a user), this sounds very confusing.
Perhaps the GUI can knit these things together to make it less so.

I need to know when any modifications to http-service and/or http-
listener are made so that I can update AMX appropriately.

Lloyd


On Jul 31, 2008, at 7:05 PM, Jan.Luehe_at_Sun.COM wrote:

> Lloyd,
>
>> What happens to ELEMENT http-service? Isn't it now obsolete?
>
>
> No, we have to keep it, since it is the super-element of <virtual-
> server>,
> which is not going to be moved to <network-config>.
>
> Also, we're planning to keep <http-listener> (another subelement of
> <http-service>) around for any HTTP specific aspects of <network-
> config>,
> such as default-virtual-server. <http-listener> will reference its
> associated
> <network-listener> by name.
>
>
>
> Jan
>
>
>
>
>
> Jan.Luehe_at_Sun.COM wrote:
>
>> Please find attached the domain.xml DTD diffs illustrating the config
>> changes required by the addition of the new <network-config> element.
>>
>> Thanks to Alexey for producing the diffs.
>>
>>
>> Jan
>>
>> ------------------------------------------------------------------------
>>
>> # This patch file was generated by NetBeans IDE
>> # This patch can be applied using context Tools: Apply Diff Patch
>> action on respective folder.
>> # It uses platform neutral UTF-8 encoding.
>> # Above lines and this line are ignored by the patching process.
>> --- /Users/oleksiys/JavaLibs/GlassFish/v2.1/lib/dtds/sun-
>> domain_1_3.dtd
>> +++ /Users/oleksiys/JavaLibs/GlassFish/v2ur1/lib/dtds/sun-
>> domain_1_3.dtd
>> @@ -688,7 +688,7 @@
>> security-service, transaction-service, monitoring-
>> service, diagnostic-service?, java-config,
>> availability-service?, thread-pools, alert-service?, group-
>> management-service?, management-rules?, - system-
>> property*, property*)>
>> + network-config, system-property*, property*)>
>> <!ATTLIST config
>> @@ -931,7 +931,7 @@
>> Used in:
>> http-listener, iiop-listener, jmx-connector, ssl-client-
>> config -->
>> -<!ELEMENT ssl EMPTY>
>> +<!ELEMENT ssl (property*)>
>> <!ATTLIST ssl
>> cert-nickname CDATA #REQUIRED
>> @@ -3049,18 +3049,24 @@
>> thread-pool-
>> id
>> This
>> is an id for the work-queue e.g. "thread-pool-1",
>> "thread-pool-2" etc +
>> max-queue-size
>> + The maxim number of tasks, which could be queued on the
>> thread pool
>> + classname
>> + the classname of a thread pool implementation
>> Used in:
>> thread-
>> pools -->
>> -<!ELEMENT thread-pool EMPTY>
>> +<!ELEMENT thread-pool (property*)>
>> <!ATTLIST thread-pool
>> thread-pool-id CDATA #REQUIRED
>> min-thread-pool-size CDATA "0"
>> max-thread-pool-size CDATA "200"
>> idle-thread-timeout-in-seconds CDATA "120"
>> - num-work-queues CDATA "1">
>> + num-work-queues CDATA "1"
>> + max-queue-size CDATA "-1"
>> + classname CDATA #IMPLIED>
>> <!-- property
>> @@ -3876,3 +3882,213 @@
>> <!ATTLIST action
>> action-mbean-name CDATA #REQUIRED>
>> +<!-- network-config element contains complete Grizzly configuration.
>> + Element property: declares public Grizzly configuration
>> properties
>> + Element transports: describes low level transports
>> configuration.
>> + Like tcp, udp, ssl transports configuration
>> + Element protocols: describes higher level protocols like:
>> http, https,
>> + iiop
>> + Element network-listeners: binds protocols with lower level
>> transports
>> +-->
>> +
>> +<!ELEMENT network-config (property*, transports, protocols,
>> network-listeners)>
>> +
>> +<!-- property element defines some implementation specific
>> properties, they
>> + could be different from implementation to implementation, so
>> it's not
>> + possible to define them neither like element nor attribute
>> + Attribute name: property name
>> + Attribute value: property value
>> +-->
>> +<!ELEMENT property EMPTY>
>> +<!ATTLIST property
>> + name CDATA #IMPLIED
>> + value CDATA #IMPLIED
>> + >
>> +
>> +<!-- Transports section describes network transports and its
>> properties.
>> + Element property: declares network-config public properties
>> + Element selection-key-handler: defines public SelectionKey
>> handler,
>> + which could be referenced within transport
>> + Element transport: defines one specific transport.
>> +-->
>> +<!ELEMENT transports (property*, selection-key-handler*,
>> transport*)>
>> +
>> +<!-- selection-key-handler elements defines transport's
>> SelectionKey handling
>> + logic
>> + Element property: declares selection-key-handler specific
>> properties
>> + Attribute name: SelectionKey handler name, which could be
>> used as
>> + reference
>> + Attribute classname: SelectionKey handler implementation class
>> + Attribute idle-key-timeout: timeout, after which idle key
>> will be
>> + cancelled and channel closed
>> +-->
>> +<!ELEMENT selection-key-handler (property*)>
>> +<!ATTLIST selection-key-handler
>> + name CDATA #IMPLIED
>> + classname CDATA #IMPLIED
>> + idle-key-timeout CDATA #IMPLIED
>> + >
>> +
>> +<!-- Transport element defines one specific transport and its
>> properties
>> + Element property: declares transport specific properties
>> + Attribute name: transport's name, which could be used as
>> reference
>> + Attribute classname: name of class, which implements
>> transport logic
>> + Attribute selection-key-handler: use public SelectionKey
>> handler, which
>> + was defined earlier in the document.
>> +-->
>> +<!ELEMENT transport (property*)>
>> +<!ATTLIST transport
>> + name CDATA #REQUIRED
>> + acceptor-threads CDATA #IMPLIED
>> + classname CDATA #IMPLIED
>> + selection-key-handler CDATA #IMPLIED
>> + >
>> +
>> +<!-- Protocols element contains the description of higher level
>> protocols
>> + like: http, https, iiop, etc.
>> + Element property: declares properties, associated with the
>> protocols
>> + element
>> + Element protocol: defines one specific protocol
>> +-->
>> +<!ELEMENT protocols (property*, protocol*)>
>> +
>> +<!-- Protocol element defines one single high-level protocol like:
>> http,
>> + https, iiop, etc.
>> + Element property: declares properties, associated with the
>> protocol
>> + Element ssl: protocol security (ssl) configuration.
>> + Element port-unification: defines port-unification logic, if
>> it is
>> + required to handle more than one high level protocol
>> on a single
>> + network-listener.
>> + Element protocol-chain-instance-handler: protocol chain
>> instance handler
>> + logic.
>> + Attribute name: protocol name, which could be used as reference
>> + Attribute security-enabled: true means the protocol is
>> secured and ssl
>> + element will be used to initialize security
>> settings. False means
>> + that protocol is not secured and ssl element, if
>> present,
>> + will be ignored.
>> + Attribute max-selectors: maximum size of a temporary selector
>> pool,
>> + used for blocking read/write operations
>> + Attribute byte-buffer-type: type of ByteBuffer, which will be
>> used with
>> + transport. Possible values are: HEAP and DIRECT
>> + Attribute read-timeout: read operation timeout
>> + Attribute write-timeout: write operation timeout
>> + Attribute oob-inline: when the oob-inline option is set, any
>> TCP urgent
>> + data received on the socket will be received through
>> + the socket input stream. Boolean attribute, possible
>> + values are true or false
>> +-->
>> +<!ELEMENT protocol (property*, ssl?, port-unification?,
>> + protocol-chain-instance-handler?)>
>> +<!ATTLIST protocol
>> + name CDATA #REQUIRED
>> + security-enabled %boolean; "false"
>> + max-selectors CDATA #IMPLIED
>> + byte-buffer-type (HEAP|DIRECT) "HEAP"
>> + read-timeout CDATA #IMPLIED
>> + write-timeout CDATA #IMPLIED
>> + oob-inline %boolean; "true"
>> + >
>> +
>> +<!-- protocol-chain-instance-handler defines protocol chain
>> instantiation and
>> + releasing logic
>> + Element property: set of protocol chain instance handler
>> properties
>> + Element protocol-chain: defines protocol chain configuration
>> + Attribute name: protocol chain instance handler name, which
>> could be used
>> + as reference
>> + Attribute classname: Protocol chain instance handler
>> implementation class
>> +-->
>> +<!ELEMENT protocol-chain-instance-handler (property*, protocol-
>> chain)>
>> +<!ATTLIST protocol-chain-instance-handler
>> + name CDATA #IMPLIED
>> + classname CDATA #IMPLIED
>> + >
>> +
>> +<!-- protocol-chain element defines the type of protocol chain and
>> + describes protocol filters, which will participate in request
>> + processing
>> + Element property: set of protocol chain properties
>> + Element protocol-filter: defines protocol filter sequence,
>> which will
>> + process a request.
>> + Attribute name: protocol chain name, which could be used as
>> reference
>> + Attribute type: protocol chain type. Could be STATEFUL or
>> STATELESS
>> +-->
>> +<!ELEMENT protocol-chain (property*, protocol-filter*)>
>> +<!ATTLIST protocol-chain
>> + name CDATA #IMPLIED
>> + classname CDATA #IMPLIED
>> + type (STATELESS|STATEFUL) "STATELESS"
>> + >
>> +
>> +<!-- protocol-filter defines single protocol filter in a sequence
>> + Element property: properties, associated with the protocol-
>> filter
>> + Attribute name: protocol filter name, which could be used as
>> reference
>> + Attribute classname: protocol filter implementation class
>> +-->
>> +<!ELEMENT protocol-filter (property*)>
>> +<!ATTLIST protocol-filter
>> + name CDATA #IMPLIED
>> + classname CDATA #REQUIRED
>> + >
>> +
>> +<!-- port-unification defines logic of hosting several protocol on
>> a single
>> + tcp port.
>> + Element property: set of port-unification properties
>> + Element protocol-finder: set of protocol finders, which will
>> be responsible
>> + for protocol recognition
>> + Attribute name: port-unification name, which could be used as
>> reference
>> + Attribute property: set of port-unification properties
>> + Attribute classname: port unification logic implementation
>> class
>> +-->
>> +
>> +<!ELEMENT port-unification (property*, protocol-finder*)>
>> +<!ATTLIST port-unification
>> + name CDATA #IMPLIED
>> + classname CDATA #IMPLIED
>> + >
>> +
>> +
>> +<!-- protocol-finder describes a protocol finder/recognizer, which
>> is able to
>> + recognize whether incoming request belongs to the specific
>> protocol
>> + or not. If yes - protocol-finder forwards request processing
>> to a
>> + specific protocol.
>> + Element property: set of finder properties
>> + Attribute name: finder name, which could be used as reference
>> + Attribute protocol: reference to a protocol, which was
>> defined before.
>> + Attribute classname: finder logic implementation class
>> +-->
>> +<!ELEMENT protocol-finder (property*)>
>> +<!ATTLIST protocol-finder
>> + name CDATA #IMPLIED
>> + protocol CDATA #IMPLIED
>> + classname CDATA #IMPLIED
>> + >
>> +
>> +<!-- network-listeners element contains set of network-listener,
>> which bind
>> + protocol to a specific endpoint to listen on
>> + Element property: set of properties, common for all network-
>> listeners
>> + Element thread-pool: defines public thread-pool(s), which
>> could be
>> + referenced within network-listener
>> element(s)
>> + Element network-listener: declares one single network-listener
>> +-->
>> +<!ELEMENT network-listeners (property*, thread-pool*, network-
>> listener*)>
>> +
>> +<!-- network-listener element binds protocol to a specific
>> endpoint to listen on
>> + Element property: set of network-listener properties
>> + Attribute name: network-listener name, which could be used as
>> reference
>> + Attribute transport: reference to a low-level transport
>> + Attribute protocol: reference to a protocol
>> + Attribute thread-pool: reference to a thread-pool, defined
>> earlier
>> + in the document.
>> + Attribute host: host name to listen on
>> + Attribute port: port to listen on
>> +-->
>> +<!ELEMENT network-listener (property*)>
>> +<!ATTLIST network-listener
>> + name CDATA #REQUIRED
>> + transport CDATA #REQUIRED
>> + protocol CDATA #REQUIRED
>> + thread-pool CDATA #IMPLIED
>> + host CDATA #IMPLIED
>> + port CDATA #IMPLIED
>> + >
>> +
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: admin-unsubscribe_at_glassfish.dev.java.net
> For additional commands, e-mail: admin-help_at_glassfish.dev.java.net
>