Configuration Overview

The vendor specific configuration required by both JBoss and JOnAS is very similar. However, each application server uses a different schema for specifying its configuration.

The JBoss specific deployment descriptor in jboss.xml has a root element named <jboss>. Underneath this the JBoss configuration schema closely mimics that of the J2EE EJB deployment descriptor starting with the <enterprise-beans> element. This element may contain multiple <session>, <entity>, and <message-driven> elements. Each one of these elements must have exactly one <ejb-name> element that refers to a corresponding declaration in the standard J2EE EJB deployment descriptor located in ejb-jar.xml.

Example 2-1. JBoss Specific Deployment Descriptor (jboss.xml)

<jboss>
  <enterprise-beans>
    ...
    <entity>
      <ejb-name>EntityEJB</ejb-name>
      ...
    </entity>
    ...
    <session>
      <ejb-name>SessionEJB</ejb-name>
      ...
    </session>
    ...
    <message-driven>
      <ejb-name>MessageDrivenEJB</ejb-name>
      ...
    </message-driven>
    ...
  </enterprise-beans>
</jboss>

The corresponding JOnAS deployment descriptor has a <jonas-ejb-jar> tag instead of <jboss>, omits the <enterprise-beans> tag, and prefixes the bean type elements with "jonas". Despite these cosmetic differences, the file works in much the same way. Each <jonas-entity>, <jonas-session>, and <jonas-message-driven> element must contain an <ejb-name> element that references a corresponding entry in the J2EE deployment descriptor (ejb-jar.xml)

Example 2-2. JOnAS Specific Deployment Descriptor (jonas-ejb-jar.xml)

<jonas-ejb-jar>
  ...
  <jonas-entity>
    <ejb-name>EntityEJB</ejb-name>
    ...
  </jonas-entity>
  ...
  <jonas-session>
    <ejb-name>SessionEJB</ejb-name>
    ...
  </jonas-session>
  ...
  <jonas-message-driven>
    <ejb-name>MessageDrivenEJB</ejb-name>
    ...
  </jonas-message-driven>
  ...
</jonas-ejb-jar>

This is the J2EE deployment descriptor common to both application servers. Any entry in either of the vendor specific deployment descriptors must refer to an entry appearing in this file.

Example 2-3. J2EE Deployment Descriptor (ejb-jar.xml)

<ejb-jar>
  <enterprise-beans>
    ...
    <entity>
      <ejb-name>EntityEJB</ejb-name>
      ...
    </entity>
    ...
    <session>
      <ejb-name>SessionEJB</ejb-name>
      ...
    </session>
    ...
    <message-driven>
      <ejb-name>MessageDrivenEJB</ejb-name>
      ...
    </message-driven>
    ...
  </enterprise-beans>
  ...
</ejb-jar>