@(#)jboss_5_0.xsds 1.00 1/26/06 JBoss, Home of Professional Open Source Copyright 2005, JBoss Inc., and individual contributors as indicated by the @authors tag. See the copyright.txt in the distribution for a full listing of individual contributors. This is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this software; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA, or see the FSF site: http://www.fsf.org. ... The instance documents may indicate the published version of the schema using the xsi:schemaLocation attribute for the Java EE namespace with the following location: http://www.jboss.org/j2ee/schema/jboss_5_0.xsd ]]> The following conventions apply to all Java EE deployment descriptor elements unless indicated otherwise. - In elements that specify a pathname to a file within the same JAR file, relative filenames (i.e., those not starting with "/") are considered relative to the root of the JAR file's namespace. Absolute filenames (i.e., those starting with "/") also specify names in the root of the JAR file's namespace. In general, relative names are preferred. The exception is .war files where absolute names are preferred for consistency with the Servlet API. This is the root of the ejb-jar deployment descriptor. The ejb-name element contains the name of an enterprise bean. The name must be unique within the jboss file. 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. The version specifies the version of the EJB specification that the instance document must comply with. This information enables deployment tools to validate a particular EJB Deployment Descriptor with respect to a specific version of the EJB schema. The assembly-descriptor element contains application-assembly information. The definition of security roles allows you to map assembly roles to one or more principals. For example, you may define a run-as principal in the security-identity element and include that principal in one or more security-role(s) in the assembly descriptor. When called with a run-as role, the callee will see all those roles in ctx.isCallerInRole(...) Used in: jboss com.wombat.empl.EmployeeServiceBean ]]> The jmx-name element allows one to specify the JMX ObjectName to use for the MBean associated with the ejb-jar module. This must be a unique name and valid JMX ObjectName string. The security-domain element specifies the JNDI name of the security manager that implements the EJBSecurityManager and RealmMapping for the domain. When specified at the jboss level it specifies the security domain for all j2ee components in the deployment unit. One can override the global security-domain at the container level using the security-domain element at the container-configuration level. The security-role element contains the definition of a security role. The definition consists of an the security role name and principal name element(s). The principal-name element is the name of the principal that is mapped to the assembly role-name. The missing-method-permissions-excluded-mode determines the treatment of missing method-permission mappings in the ejb-jar descriptor. The ejb 2.1 spec states: "It is possible that some methods are not assigned to any security roles nor contained in the exclude-list element. In this case, it is the responsibility of the Deployer to assign method permissions for all of the unspecified methods, either by assigning them to security roles, or by marking them as unchecked." The missing-method-permissions-excluded-mode is a boolean that allows the deployer to globally indicate that all methods without a method-permission element should be treated as excluded(= true and the default), or that methods without a method-permission element should be treated as unchecked(= false) The unauthenticated-principal element specifies the name of the principal that will be returned by the EJBContext.getCallerPrincipal() method if there is no authenticated user. This Principal has no roles or privaledges to call any other beans. 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, session, and message-driven 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 The ejb-ref-name element contains the name of an EJB reference. The EJB reference is an entry in the component's environment and is relative to the java:comp/env context. The name must be unique within the component. It is recommended that name be prefixed with "ejb/". The ejb-ref-name element contains the name of an EJB reference. The EJB reference is an entry in the component's environment and is relative to the java:comp/env context. The name must be unique within the component. It is recommended that name is prefixed with "ejb/". The resource-env-ref-name element specifies the name of a resource environment reference; its value is the environment entry name used in the component code. The name is a JNDI name relative to the java:comp/env context and must be unique within an component. The message-destination-ref-name element specifies the name of a message destination reference; its value is the message destination reference name used in the component code. The name is a JNDI name relative to the java:comp/env context and must be unique within an component. The res-ref-name element specifies the name of a resource manager connection factory reference. The name is a JNDI name relative to the java:comp/env context. The name must be unique within an component. The env-entry-name element contains the name of a component's environment entry. The name is a JNDI name relative to the java:comp/env context. The name must be unique within an component. The ejb-ref-name element contains the name of an EJB reference. The EJB reference is an entry in the component's environment and is relative to the java:comp/env context. The name must be unique within the component. It is recommended that name be prefixed with "ejb/". The ejb-ref-name element contains the name of an EJB reference. The EJB reference is an entry in the component's environment and is relative to the java:comp/env context. The name must be unique within the component. It is recommended that name is prefixed with "ejb/". The resource-env-ref-name element specifies the name of a resource environment reference; its value is the environment entry name used in the component code. The name is a JNDI name relative to the java:comp/env context and must be unique within an component. The message-destination-ref-name element specifies the name of a message destination reference; its value is the message destination reference name used in the component code. The name is a JNDI name relative to the java:comp/env context and must be unique within an component. The res-ref-name element specifies the name of a resource manager connection factory reference. The name is a JNDI name relative to the java:comp/env context. The name must be unique within an component. The env-entry-name element contains the name of a component's environment entry. The name is a JNDI name relative to the java:comp/env context. The name must be unique within an component. The message-driven element holds information specific to jboss and not declared in ejb-jar.xml about a message-driven bean, such as container configuration and resources. The bean should already be declared in ejb-jar.xml, with the same ejb-name. The annotationType is used to add annotations to a bean class, method, or field. Used to set property values for annotations The class name of the annotation to be added to the bean. The activation-configType defines information about the default configuration properties of the message-driven bean in its operational environment. This may include information about message acknowledgement, message selector, expected destination type, etc. The configuration information is expressed in terms of name/value configuration properties. The properties that are recognized for a particular message-driven bean are determined by the messaging type. The activation-config-propertyType contains a name/value configuration property pair for a message-driven bean. The properties that are recognized for a particular message-driven bean are determined by the messaging type. The activation-config-property-name element contains the name for an activation configuration property of a message-driven bean. For JMS message-driven beans, the following property names are recognized: acknowledgeMode, messageSelector, destinationType, subscriptionDurability The activation-config-property-value element contains the value for an activation configuration property of a message-driven bean. The queue/topic jndi name from which we receive messages The optional user for the jms connection that delivers messages The optional password for the jms connection that delivers messages The optional client-id for the jms connection that delivers messages The subscription name for topic delivery jms-ra.rar or for embedded rars myapp.ear#myconnector.rar ]]> The method element is used to specify attributes for one method or all those matching a pattern startingstring*. The method-name element specifies a complete method name or a pattern consisting of an initial match followed by '*' The transaction timeout in seconds (overriding the default timeout). This will only work for Required (where the method starts the transaction) and RequiresNew. The special value of 0 (zero) uses the default timeout configured on jboss:service=TransactionManager NOTE: any subsequent use of RequiresNew that is not explicitly overridden will use this value. The security-identity element specifies whether a specific run-as identity is to be used. If there is a run-as role defined for an enterprise bean, there can also be a run-as-principal define here. If you don't define a run-as principal the callee will see ctx.getCallerPrincipal() == 'anonymous' Used in: entity, message-driven, session The consumer element holds all of the information specific about a consumer bean which is a JBoss proprietary extension to EJB3 for sending JMS messages via standard Java interfaces. Used in: enterprise-beans The jndi binding of the message destination The service element holds all of the information specific about a service bean which is a JBoss proprietary extension to EJB3 creating multithreaded, singleton services. Service beans are the EJB3 analogy for JMX MBeans. The fully qualified class name for the JMX Management interface The resource URL for the xmbean metadata The producer element holds all of the information specific about a producer interface for a consumer bean Used in: consumer Element for defining the method used as the injection point for the current JMS message in a consumer bean Used in: consumer Element for defining JMS message properties (e.g. persistence, priority) for a consumer bean Used in: consumer 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 The jndi-ref-name element specifies the name of the reference. The name is a JNDI name relative to the java:comp/env context. The name must be unique within a Deployment File. Set on a stateful bean. Instead of throwing an exception on concurrent access to the stateful bean, block/serialize access. Element for specifying the class used to provide the caching mechanism for a bean, and the cache parameters The class of the pool Maximum size of the pool Seconds before an pool thread times out Element for specifying the class used to provide the caching mechanism for a bean, and the cache parameters The class of the persistence manager for the simple cache The class of the cache Maximum cache entries before entry(s) are evicted Seconds before an idle entry is evicted Seconds before an idle entry is removed The JMX MBean name of the tree cache The depends element gives a JMX ObjectName of a service on which the container or ejb depends. (default) The fully qualified name of the proxy factory class Name of the AOP client interceptor stack The ignore-dependency element removes an injection dependency Element for specifying the aspect domain for a bean. The aspect domain contains the interceptor stack and bindings (default) The clustered element indicates if this bean will run in a cluster of JBoss instances. It is provided by the deployer. If not, jboss will assume clustered = False Possible values: "True", "False" (default) The JNDI name under with the local interface should be bound. If it is not provided jboss will assume "jndi-name" = "beanClass/local" Element for specifying the remote jndi binding for a bean as well as the client interceptor stack The JBoss Remoting URL that clients will try and bind to. The ejb-ref element is used to give the jndi-name of an external ejb reference. In the case of an external ejb reference, you don't provide a ejb-link element in ejb-jar.xml, but you provide a jndi-name in jboss.xml Used in: entity, session, message-driven, consumer, and service The ejb-local-ref element is used to give the jndi-name of an external ejb reference. In the case of an external ejb reference, you don't provide a ejb-link element in ejb-jar.xml, but you provide a jndi-name in jboss.xml The message-destination element is used to configure the jndi-name for a message-destination in ejb-jar.xml Used in: assembly-descriptor The message-destination-ref element is used to configure the jndi-name for a message-destination-ref in ejb-jar.xml The message-destination-ref-name element specifies the name of a message destination reference; its value is the environment entry name used in Deployment Component code. The name is a JNDI name relative to the java:comp/env context and must be unique within an ejb-jar (for enterprise beans) or a Deployment File (for others). The message-destination-ref-name element identifies the message-destination-ref. It must match the name in ejb-jar.xml The resource-env-ref element gives a mapping between the "code name" of a env resource (res-ref-name, provided by the Bean Developer) and its deployed JNDI name. The resource-env-ref-name element specifies the name of a resource environment reference; its value is the environment entry name used in the Deployment Component code. The name is a JNDI name relative to the java:comp/env context and must be unique within a Deployment Component. The resource-env-ref-type element specifies the type of a resource environment reference. It is the fully qualified name of a Java language class or interface. The resource-env-ref-name element gives the "code name" of a resource. It is provided by the Bean Developer. The resource-ref element gives a mapping between the "code name" of a resource (res-ref-name, provided by the Bean Developer) 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. The res-ref-name element specifies the name of a resource manager connection factory reference. The name is a JNDI name relative to the java:comp/env context. The name must be unique within a Deployment File. The res-type element specifies the type of the data source. The type is specified by the fully qualified Java language class or interface expected to be implemented by the data source. The res-ref-name element gives the "code name" of a resource. It is provided by the Bean Developer. See resource-managers for the actual configuration of the resource. 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 Developer 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 or 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. OrganizationService file:/wsdlRepository/organization-service.wsdl OrganizationService Secure Client Config META-INF/jbossws-client-config.xml META-INF/jbossws-client-handlers.xml SecureService org.jboss.tests.ws.jaxws.webserviceref.SecureEndpointService {http://org.jboss.ws/wsref}SecureEndpointService org.jboss.tests.ws.jaxws.webserviceref.SecureEndpoint {http://org.jboss.ws/wsref}SecureEndpointPort javax.xml.ws.security.auth.username kermit javax.xml.ws.security.auth.password thefrog ]]> The service-ref-name element gives the ENC relative name used in the ejb-jar.xml service-ref-name element. 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 Developer 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 or 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 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 The cluster-config element allows to specify cluster specific settings. The partition-name element indicates the name of the HAPartition to be used by the container to exchange clustering information. This is a name and *not* a JNDI name. Given name will be prefixed by "/HASessionState/" by the container to get the actual JNDI name of the HAPartition. If not, jboss will assume partition-name = "DefaultPartition". The home-load-balance-policy element indicates the java class name to be used to load balance calls in the home proxy. If not, jboss will assume home-load-balance-policy = "org.jboss.ha.framework.interfaces.RoundRobin". jboss.test:loader=cts-cmp2v1-sar.ear dot.com:loader=unique-archive-name java2ParentDelegaton=true ]]> The loader-repository-config element specifies any arbitrary configuration fragment for use in configuring the loader-repository instance. The actual content of this element is specific to the loaderRepositoryClass and the code parsing the element. The method-attributes element can be used to specify which methods are read only or idempotent. This is used to reduce the need for locks and replication.