The Deployment descriptor

Here is the standard samplemdb.xml deployment descriptor for example sampleamdb:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">

<ejb-jar>
  <description>Deployment descriptor for the samplemdb JOnAS example</description>
  <display-name>samplemdb example</display-name>
  <enterprise-beans>
  <message-driven>
      <description>Describe here the message driven bean Mdb</description>
      <display-name>Message Driven Bean Mdb</display-name>
      <ejb-name>Mdb</ejb-name>
      <ejb-class>samplemdb.MdbBean</ejb-class>
      <transaction-type>Container</transaction-type>         
      <acknowledge-mode>Auto-acknowledge</acknowledge-mode>
      <message-driven-destination>
           <destination-type>javax.jms.Topic</destination-type>
           <subscription-durability>NonDurable</subscription-durability>
      </message-driven-destination>
  </message-driven> 


  </enterprise-beans>
  <assembly-descriptor>
    <container-transaction>
    <method>
	<ejb-name>Mdb</ejb-name>
	<method-name>*</method-name>
      </method>
      <trans-attribute>Required</trans-attribute>
    </container-transaction>
  </assembly-descriptor>

</ejb-jar>

Here is the JOnAS specific jonas-samplemdb.xml deployment descriptor for example samplemdb:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE jonas-ejb-jar PUBLIC "-//ObjectWeb//DTD JOnAS 3.0//EN" "http://www.objectweb.org/jonas/dtds/jonas-ejb-jar_3_0.dtd">

<jonas-ejb-jar>

  <jonas-message-driven>
    <ejb-name>Mdb</ejb-name>
    <jonas-message-driven-destination>
    <jndi-name>mdbTopic</jndi-name>
    </jonas-message-driven-destination>
  </jonas-message-driven>

</jonas-ejb-jar>

Here is the generic sampleappli.xml deployment descriptor for example sampleaappli:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">

<ejb-jar>
  <description>Deployment descriptor for the mdb sampleappli JOnAS example</description>
  <display-name>sampleappli example</display-name>
  <enterprise-beans>

    <session>
      <description>Describe here the session bean Env</description>
      <display-name>Env</display-name>
      <ejb-name>Env</ejb-name>
      <home>sampleappli.EnvHome</home>
      <remote>sampleappli.Env</remote>
      <ejb-class>sampleappli.EnvBean</ejb-class>
      <session-type>Stateless</session-type>
      <transaction-type>Container</transaction-type>
      <env-entry>
	<env-entry-name>stocktablename</env-entry-name>
	<env-entry-type>java.lang.String</env-entry-type>
	<env-entry-value>sampleappliStockTable</env-entry-value>
      </env-entry>
      <env-entry>
	<env-entry-name>orderfilename</env-entry-name>
	<env-entry-type>java.lang.String</env-entry-type>
	<env-entry-value>order.txt</env-entry-value>
      </env-entry>
      <resource-ref>
	<res-ref-name>jdbc/myDS</res-ref-name>
	<res-type>javax.sql.DataSource</res-type>
	<res-auth>Application</res-auth>
      </resource-ref>
    </session>

    <entity>
      <description>Describe here the entity bean Stock</description>
      <display-name>Stock</display-name>
      <ejb-name>Stock</ejb-name>
      <home>sampleappli.StockHome</home>
      <remote>sampleappli.Stock</remote>
      <ejb-class>sampleappli.StockBean</ejb-class>
      <persistence-type>Container</persistence-type>
      <prim-key-class>java.lang.String</prim-key-class>
      <reentrant>False</reentrant>
      <cmp-version>1.x</cmp-version>
      <cmp-field>
	<field-name>stockid</field-name>
      </cmp-field>
      <cmp-field>
	<field-name>stockqty</field-name>
      </cmp-field>
      <primkey-field>stockid</primkey-field>
    </entity>

    <message-driven>
      <description>Describe here the message driven bean StockHandler</description>
      <display-name>Message Driven Bean StockHandler</display-name>
      <ejb-name>StockHandler</ejb-name>
      <ejb-class>sampleappli.StockHandlerBean</ejb-class>
      <transaction-type>Container</transaction-type>
      <acknowledge-mode>Auto-acknowledge</acknowledge-mode>
      <message-driven-destination>
           <destination-type>javax.jms.Topic</destination-type>
           <subscription-durability>NonDurable</subscription-durability>
      </message-driven-destination>
      <ejb-ref>
	<ejb-ref-name>ejb/Stock</ejb-ref-name>
	<ejb-ref-type>Entity</ejb-ref-type>
	<home>sampleappli.StockHome</home>
	<remote>sampleappli.Stock</remote>
      </ejb-ref>
      <resource-ref>
	<res-ref-name>jms/QueueConnectionFactory</res-ref-name>
	<res-type>javax.jms.QueueConnectionFactory</res-type>
	<res-auth>Container</res-auth>
      </resource-ref>
      <resource-env-ref>
	<resource-env-ref-name>jms/Orders</resource-env-ref-name>
	<resource-env-ref-type>javax.jms.Queue</resource-env-ref-type>
      </resource-env-ref>
    </message-driven>

    <message-driven>
      <description>Describe here the message driven bean Order</description>
      <display-name>Message Driven Bean Order</display-name>
      <ejb-name>Order</ejb-name>
      <ejb-class>sampleappli.OrderBean</ejb-class>
      <transaction-type>Container</transaction-type>
      <acknowledge-mode>Auto-acknowledge</acknowledge-mode>
      <message-driven-destination>
           <destination-type>javax.jms.Queue</destination-type>
      </message-driven-destination>
      <env-entry>
	<env-entry-name>orderfilename</env-entry-name>
	<env-entry-type>java.lang.String</env-entry-type>
	<env-entry-value>order.txt</env-entry-value>
      </env-entry>
    </message-driven>

  </enterprise-beans>

  <assembly-descriptor>
    <container-transaction>
      <method>
	<ejb-name>Stock</ejb-name>
	<method-name>*</method-name>
      </method>
      <trans-attribute>Required</trans-attribute>
    </container-transaction>

    <container-transaction>
      <method>
	<ejb-name>Env</ejb-name>
	<method-name>*</method-name>
      </method>
      <trans-attribute>NotSupported</trans-attribute>
     </container-transaction>

    <container-transaction>
      <method>
	<ejb-name>StockHandler</ejb-name>
	<method-name>*</method-name>
      </method>
      <trans-attribute>Required</trans-attribute>
    </container-transaction>

    <container-transaction>
      <method>
	<ejb-name>Order</ejb-name>
	<method-name>*</method-name>
      </method>
      <trans-attribute>NotSupported</trans-attribute>
    </container-transaction>

  </assembly-descriptor>

</ejb-jar>

Here is the JOnAS specific jonas-sampleappli.xml deployment descriptor for example sampleappli:


<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE jonas-ejb-jar PUBLIC "-//ObjectWeb//DTD JOnAS 3.0//EN" "http://www.objectweb.org/jonas/dtds/jonas-ejb-jar_3_0.dtd">

<jonas-ejb-jar>
  <jonas-session>
    <ejb-name>Env</ejb-name>
    <jndi-name>EnvHome</jndi-name>
    <jonas-resource>
      <res-ref-name>jdbc/myDS</res-ref-name>
      <jndi-name>jdbc_1</jndi-name>
    </jonas-resource>
  </jonas-session>

  <jonas-entity>
    <ejb-name>Stock</ejb-name>
    <jndi-name>StockHome</jndi-name>
    <jdbc-mapping>
      <jndi-name>jdbc_1</jndi-name>
      <jdbc-table-name>sampleappliStockTable</jdbc-table-name>
      <cmp-field-jdbc-mapping>
	<field-name>stockid</field-name>
	<jdbc-field-name>ID</jdbc-field-name>
      </cmp-field-jdbc-mapping>
      <cmp-field-jdbc-mapping>
	<field-name>stockqty</field-name>
	<jdbc-field-name>QUANTITY</jdbc-field-name>
      </cmp-field-jdbc-mapping>
      <finder-method-jdbc-mapping>
	<jonas-method>
	  <method-name>findAllStocks</method-name>
	</jonas-method>
	<jdbc-where-clause></jdbc-where-clause>
      </finder-method-jdbc-mapping>
    </jdbc-mapping>
  </jonas-entity>

  <jonas-message-driven>
    <ejb-name>StockHandler</ejb-name>
    <jonas-message-driven-destination>
      <jndi-name>StockHandlerTopic</jndi-name>
    </jonas-message-driven-destination>
    <jonas-resource>
      <res-ref-name>jms/QueueConnectionFactory</res-ref-name>
      <jndi-name>QCF</jndi-name>
    </jonas-resource>
    <jonas-resource-env>
      <resource-env-ref-name>jms/Orders</resource-env-ref-name>
      <jndi-name>OrdersQueue</jndi-name>
    </jonas-resource-env>
    <jonas-ejb-ref>
      <ejb-ref-name>ejb/Stock</ejb-ref-name>
      <jndi-name>StockHome</jndi-name>
    </jonas-ejb-ref>
  </jonas-message-driven>

  <jonas-message-driven>
    <ejb-name>Order</ejb-name>
    <jonas-message-driven-destination>
      <jndi-name>OrdersQueue</jndi-name>
    </jonas-message-driven-destination>
  </jonas-message-driven>

</jonas-ejb-jar>