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