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