Thank you sebastien, you're my hero...

The big success of this DTD basically is that YOU SHOULD NEVER EVEN BOTHER
WITH IT :)))

and if you do you only specify the part of the tree that you wish to
over-ride with respect to the standard configuration.

need a specific jndi name? only specify that part of the tree (only the
relevant tags) and nothing more...

this means a simpler, smaller jboss.xml (only the relevant information) and
less ways to mess things up... we will update the documentation with this...

again if you *only* have a ejb-jar.xml IT WILL WORK (even binding to a
datasource, since the standard datasource is the one configured in the MLET
so that jboss binds you to that with a symbolic link)... :)))

The standard configuration should cover 95% cases (at least for sure in
development stage)

marc

> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED]]On Behalf Of Sebastien Alborini
> Sent: Monday, August 14, 2000 7:40 PM
> To: [EMAIL PROTECTED]; [EMAIL PROTECTED]
> Subject: [jBoss-User] jboss.xml DTD
>
>
> Hi,
>
> As advertised, here is a DTD for the jboss.xml file. I tried to describe
> jboss "standard" behavior as accurately as I could. This should help you
> know what to put and what NOT to put in jboss.xml...
>
> Any comments appreciated.
>
> Have fun,
>
> Sebastien
>
>
> -----------------
> <!--
> Architecture of jboss.xml
>
> <jboss>
>
>
>   <secure />
>
>
>   <enterprise-beans>
>
>     <entity>
>       <ejb-name />
>       <jndi-name />
>       <resource-ref>
>         <res-ref-name />
>         <resource-name />
>       </resource-ref>
>     </entity>
>
>     <session>
>       <ejb-name />
>       <jndi-name />
>       <resource-ref>
>         <res-ref-name />
>         <resource-name />
>       </resource-ref>
>     </session>
>
>
>   <resource-managers>
>
>     <resource-manager>
>       <res-name />
>       <res-jndi-name />
>     </resource-manager>
>
>     <resource-manager>
>       <res-name />
>       <res-url />
>     </resource-manager>
>
>   </resource-managers>
>
>
>   <container-configurations>
>
>     <container-configuration>
>       <container-name />
>       <container-invoker />
>       <instance-pool />
>       <instance-cache />
>       <persistence-manager />
>       <transaction-manager />
>       <container-invoker-conf />
>       <container-cache-conf />
>       <container-pool-conf />
>     </container-configuration>
>
>   </container-configurations>
>
>
> </jboss>
>
> -->
>
>
>
> <!--
> The jboss element is the root element of the jboss.xml file. It
> contains all the information used by jboss but not described in the
> ejb-jar.xml file. All of it is optional.
>
> 1- the application assembler can define custom container configurations
> for the beans. Standard configurations are provided in standardjboss.xml
> 2- the deployer can override the jndi names under which the beans are
> deployed
> 3- the deployer can specify runtime jndi names for resource managers.
>
> -->
> <!ELEMENT jboss (secure?, enterprise-beans?, resource-managers?,
> container-configurations?)>
>
>
>   <!--
>   The secure element tells the container to enforce ejb1.1 restrictions
>   It must be one of the following :
>      <secure>true</secure>
>      <secure>false</secure>
>
>   Used in: jboss
>   -->
>   <!ELEMENT secure (#PCDATA)>
>
>
>   <!--
>   The enterprise-beans element contains additional information about
>   the beans. These informations, such as jndi names, resource managers
> and
>   container configurations, are specific to jboss and not described in
>   ejb-jar.xml.
>
>   jboss will provide a standard behaviour if no enterprise-beans element
>   is found, see container-configurations, jndi-name and
> resource-managers
>   for defaults.
>
>   Used in: jboss
>   -->
>   <!ELEMENT enterprise-beans (session | entity)+>
>
>
>     <!--
>     The entity element holds information specific to jboss and not
> declared
>     in ejb-jar.xml about an entity bean, such as jndi name, container
>     configuration, and resource managers. (see tags for details)
>     The bean should already be declared in ejb-jar.xml, with the same
>     ejb-name.
>
>     Used in: enterprise-beans
>     -->
>     <!ELEMENT entity (ejb-name, jndi-name?, configuration-name?,
>     resource-ref*)>
>
>
>     <!--
>     The session element holds information specific to jboss and not
> declared
>     in ejb-jar.xml about a session bean, such as jndi name, container
>     configuration, and resource managers. (see tags for details)
>     The bean should already be declared in ejb-jar.xml, with the same
>     ejb-name.
>
>     Used in: enterprise-beans
>     -->
>     <!ELEMENT session (ejb-name, jndi-name?, configuration-name?,
>     resource-ref*)>
>
>
>       <!--
>       The ejb-name element gives the name of the bean, it must
> correspond to
>       an ejb-name element in ejb-jar.xml
>
>       Used in: entity and session
>       -->
>       <!ELEMENT ejb-name (#PCDATA)>
>
>
>       <!--
>       The jndi-name element gives the actual jndi name under which the
> bean will
>       be deployed. It is provided by the deployer. If not, jboss will
> assume
>       "jndi-name" = "ejb-name"
>
>       Used in: entity and session
>       -->
>       <!ELEMENT jndi-name (#PCDATA)>
>
>
>       <!--
>       The configuration-name element gives the name of the container
>       configuration for this bean. It must match one of the
> container-name
>       tags in the container-configurations section, or one of the
> standard
>       configurations. If none is provided, jboss will automatically use
> the
>       right standard configuration, see container-configurations.
>
>       Used in: entity and session
>       -->
>       <!ELEMENT configuration-name (#PCDATA)>
>
>
>       <!--
>       The resource-ref element gives a mapping between the "code name"
>       of a resource (res-ref-name, provided by the Bean Developper) and
>       its "xml name" (resource-name, provided by the Application
> Assembler).
>       If no resource-ref is provided, jboss will assume that
>       "xml-name" = "code name"
>
>       See resource-managers.
>
>       Used in: resource-ref
>       -->
>       <!ELEMENT resource-ref (res-ref-name, resource-name)>
>
>
>         <!--
>         The res-ref-name element gives the "code name" of a resource. It
> is
>         provided by the Bean Developper. See resource-managers for the
> actual
>         configuration of the resource.
>
>         Used in: resource-ref
>         -->
>         <!ELEMENT res-ref-name (#PCDATA)>
>
>
>         <!--
>         The resource-name element gives the "xml name" of the resource.
> It is
>         provided by the Application Assembler. See resource-managers for
> the
>         actual configuration of the resource.
>
>         Used in: resource-ref
>         -->
>         <!ELEMENT resource-name (#PCDATA)>
>
>
>   <--
>   The resource-managers element is used to declare resource managers.
>
>   A resource has 3 names:
>   - the "code name" is the name used in the code of the bean, supplied
> by
>   the Bean Developper in the resource-ref section of the ejb-jar.xml
> file
>   - the "xml name" is an intermediary name used by the Application
> Assembler
>   to identify resources in the XML file.
>   - the "runtime jndi name" is the actual jndi-name / url of the
> deployed
>   resource, it is supplied by the Deployer.
>
>   The mapping between the "code name" and the "xml name" is given
>   in the resource-ref section for the bean. If not, jboss will assume
> that
>   "xml name" = "code name".
>
>   The mapping between the "xml name" and the "runtime jndi name" is
> given in
>   a resource-manager section. If not, and if the datasource is of type
>   javax.sql.DataSource, jboss will look for a javax.sql.DataSource in
> the jndi
>   tree.
>
>   Used in: jboss
>   -->
>   <!ELEMENT resource-managers (resource-manager*)>
>
>
>     <!--
>     The resource-manager element is used to provide a mapping between
> the
>     "xml name" of a resource (res-name) and its "runtime jndi name"
>     (res-jndi-name or res-url according to the type of the resource).
>     If it is not provided, and if the type of the resource is
>     javax.sql.DataSource, jboss will look for a javax.sql.DataSource in
> the
>     jndi tree.
>
>     See resource-managers.
>
>     Used in: resource-managers
>     -->
>     <!ELEMENT resource-manager (res-name, (res-jndi-name | res-url)>
>
>
>       <!--
>       The res-name element gives the "xml name" of a resource, it is
> provided
>       by the Application Assembler. See resource-managers.
>
>       Used in: resource-manager
>       -->
>       <!ELEMENT res-name (#PCDATA)>
>
>
>       <!--
>       The res-jndi-name element is the "deployed jndi name" of a
> resource, it
>       is provided by the Deployer. See resource-managers.
>
>       Used in: resource-manager
>       -->
>       <!ELEMENT res-jndi-name (#PCDATA)>
>
>
>       <!--
>       The res-url element is the "runtime jndi name" as a url of the
> resource.
>       It is provided by the Deployer. See resource-managers.
>
>       Used in: resource-manager
>       -->
>       <!ELEMENT res-url (#PCDATA)>
>
>
>   <!--
>   The container-configurations element declares the different possible
>   container configurations that the beans can use. standardjboss.xml
>   provides 4 standard configurations with the following container-names:
>    - Standard CMP EntityBean
>    - Standard BMP EntityBean
>    - Standard Stateless SessionBean
>    - Standard Stateful SessionBean
>
>   These standard configurations will automatically be used if no custom
>   configuration is specified.
>
>   The application assembler can define advanced custom configurations
> here.
>
>   Used in: jboss
>   -->
>   <!ELEMENT container-configurations (container-configuration*)>
>
>
>     <!--
>     The container-configuration element describes a configuration for
> the
>     container.
>     The different plugins to use are declared here, as well as their
>     configurations. The configuration-class attribute is no longer used.
>
>     Used in: container-configurations
>     -->
>     <!ELEMENT container-configuration (container-name, call-logging,
>     container-invoker, instance-pool?, instance-cache?,
> persistence-manager?,
>     transaction-manager?, container-invoker-conf?,
> container-cache-conf?,
>     container-pool-conf?, commit-option?)>
>
>
>       <!--
>       The container-name element gives the name of the configuration
> being
>       defined. Beans may refer to this name in their configuration-name
> tag.
>
>       Used in: container-configuration
>       -->
>       <!ELEMENT container-name (#PCDATA)>
>
>
>       <!--
>       The call-logging element tells if the container must log every
> method
>       invocation for this bean or not. Its value must be trus or false.
>
>       Used in: container-configuration
>       -->
>       <!ELEMENT call-logging (#PCDATA)>
>
>
>       <!--
>       The container-invoker element gives the class name of the
> container
>       invoker jboss must use for in this configuration. This class must
>       implement the org.jboss.ejb.ContainerInvoker interface. The
> default is
>       org.jboss.ejb.plugins.jrmp13.server.JRMPContainerInvoker, it may
> be
>       changed to
> org.jboss.ejb.plugins.jrmp12.server.JRMPContainerInvoker if
>       no 1.3 VM is available
>
>       Used in: container-configuration
>       -->
>       <!ELEMENT container-invoker (#PCDATA)>
>
>
>       <!--
>       The instance-pool element gives the class name of the instance
> pool
>       jboss must use for in this configuration. This class must
> implement
>       the org.jboss.ejb.InstancePool interface. The defaults are:
>       - org.jboss.ejb.plugins.EntityInstancePool for entity beans
>       - org.jboss.ejb.plugins.StatelessSessionInstancePool for stateless
>       session beans.
>       - no pool is used for stateful session beans
>
>       Used in: container-configuration
>       -->
>       <!ELEMENT instance-pool (#PCDATA)>
>
>
>       <!--
>       The instance-cache element gives the class name of the instance
> cache
>       jboss must use for in this configuration. This class must
> implement
>       the org.jboss.ejb.InstanceCache interface. The defaults are:
>       - org.jboss.ejb.plugins.NoPassivationEntityInstanceCache for
> entity beans
>       - org.jboss.ejb.plugins.NoPassivationStatefulSessionInstanceCache
> for
>       stateful session beans.
>       - no cache is used for stateless session beans
>
>       Used in: container-configuration
>       -->
>       <!ELEMENT instance-cache (#PCDATA)>
>
>
>       <!--
>       The persistence-manager element gives the class name of the
> persistence
>       manager / persistence store jboss must use for in this
> configuration.
>       This class must implement:
>       - org.jboss.ejb.EntityPersistenceStore for CMP Entity Beans
> (default is
>       org.jboss.ejb.plugins.jaws.JAWSPersistenceManager)
>       - org.jboss.ejb.EntityPersistenceManager for BMP entity beans
> (default
>       is org.jboss.ejb.plugins.BMPPersistenceManager)
>       - org.jboss.ejb.StatefulSessionPersistenceManager for stateless
> session
>       beans.
>       - no persistence-manager is used for stateless session beans
>
>       Used in: container-configuration
>       -->
>       <!ELEMENT persistence-manager (#PCDATA)>
>
>
>       <!--
>       The transaction-manager element gives the class name of the
> transaction
>       manager jboss must use for in this configuration. This class must
> implement
>       the javax.transaction.TransactionManager interface. The default is
>       org.jboss.tm.TxManager.
>
>       Used in: container-configuration
>       -->
>       <!ELEMENT transaction-manager (#PCDATA)>
>
>
>       <!--
>       The container-invoker-conf element holds configuration data for
> the
>       container invoker.
>       jboss does not read directly the subtree for this element:
> instead,
>       it is passed to the container invoker instance (if it implements
>       org.jboss.metadata.XmlLoadable) for it to load its parameters.
>
>       The Optimized tag described here only relates to the default
> container
>       invoker, JRMPContainerInvoker.
>
>       Used in: container-configuration
>       -->
>       <!ELEMENT container-invoker-conf (Optimized)>
>
>
>         <!--
>         This element is only valid if the container invoker is
>         JRMPContainerInvoker.
>
>         The Optimized element tells if the container invoker to bypass
> RMI layers
>         when the client is local (same VM as the server). This optimizes
> RMI calls.
>         Its value must be true or false.
>
>         Used in: container-invoker-conf for JRMPContainerInvoker
>         -->
>         <!ELEMENT Optimized (#PCDATA)>
>
>
>       <!--
>       The container-cache-conf element holds dynamic configuration data
>       for the instance cache.
>       jboss does not read directly the subtree for this element:
> instead,
>       it is passed to the instance cache instance (if it implements
>       org.jboss.metadata.XmlLoadable) for it to load its parameters.
>
>       The default instance caches, NoPassivationEntityInstanceCache and
>       NoPassivationStatefulSessionInstanceCache, have no configuration
>       available.
>
>       Used in: container-configuration
>       -->
>       <!ELEMENT container-cache-conf>
>
>
>       <!--
>       The container-pool-conf element holds configuration data for the
>       instance pool.
>       jboss does not read directly the subtree for this element:
> instead,
>       it is passed to the instance pool instance (if it implements
>       org.jboss.metadata.XmlLoadable) for it to load its parameters.
>
>       The default instance pools, EntityInstancePool and
>       StatelessSessionInstancePool, both accept the following
> MaximumSize
>       configuration.
>
>       Used in: container-configuration
>       -->
>       <!ELEMENT container-pool-conf (MaximumSize)>
>
>
>         <!--
>         This element is only valid if the instance pool is a subclass of
>         AbstractInstancePool.
>
>         The MaximumSize element gives the maximum number of instance to
>         keep in the pool. Its value must be an integer.
>
>         Used in: container-pool-conf for AbstractInstancePool subclasses
>         -->
>         <!ELEMENT MaximumSize (#PCDATA)>
>
>
>       <!--
>       This option is only used for entity container configurations.
>
>       The commit-option element tells the container which option to use
> for
>       transactions. Its value must be A, B or C.
>
>       - option A: the entiry instance has exclusive access to the
> database.
>       The instance stays ready after a transaction.
>       - option B: the entity instance does not have exclusive access to
> the
>       database. The state is loaded before the next transaction.
>       - option C: same as B, except the container does not keep the
> instance
>       after commit: a passivate is immediately performed after the
> commit.
>
>       See ejb1.1 specification for details (p118).
>
>       Used in: container-configuration
>       -->
>       <!ELEMENT commit-option (#PCDATA)>
>
>
> --
> --------------------------------------------------------------
> To subscribe:        [EMAIL PROTECTED]
> To unsubscribe:      [EMAIL PROTECTED]
> Problems?:           [EMAIL PROTECTED]
>
>


Reply via email to