Questions tagged [ejb-jar.xml]

how ejb-jar.xml look like is described here. According to version of the EJB need to have use dtd path. EJB 1 http://java.sun.com/j2ee/dtds/ejb-jar_1_1.dtd EJB 2.0 "http://java.sun.com/dtd/ejb-jar_2_0.dtd" EJB 3.0 need xsd as updated Configuraions http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"

Access the full DTD at http://java.sun.com/j2ee/dtds/ejb-jar_1_1.dtd which is very nicely written. All of the tags (elements) are fully described in alphabetical order. Example usage is provided. A minimal ejb-jar.xml file looks like this:

  <!-- A minimal session EJB deployment -->
  <session>
     <ejb-name>PostingEJB</ejb-name>
     <home>ejbs.PostingHome</home>
     <remote>ejbs.Posting</remote>
     <ejb-class>ejbs.PostingBean</ejb-class>
     <!-- or Stateless -->
     <session-type>Stateful</session-type>
     <transaction-type>Container</transaction-type>
  </session>

  <!-- A minimal CMP entity EJB deployment -->
  <entity>
     <ejb-name>Bid</ejb-name>
     <home>ejbe.BidHome</home>
     <remote>ejbe.Bid</remote>
     <ejb-class>ejbe.BidBean</ejb-class>
     <persistence-type>Container</persistence-type>
     <prim-key-class>ejbe.BidPK</prim-key-class>
     <reentrant>False</reentrant>
     <cmp-field><field-name>bid</field-name></cmp-field>
     <cmp-field><field-name>bidder</field-name></cmp-field>
     <cmp-field><field-name>bidDate</field-name></cmp-field>
     <cmp-field><field-name>id</field-name></cmp-field>
  </entity>

  <!-- A minimal BMP entity EJB deployment -->
  <entity>
     <ejb-name>BidBMP</ejb-name>
     <home>com.bea.EJBE.solutions.BidBMPHome</home>
     <remote>com.bea.EJBE.solutions.BidBMP</remote>
     <ejb-class>com.bea.EJBE.solutions.BidBMPBean</ejb-class>
     <persistence-type>Bean</persistence-type>
     <prim-key-class>pkg.BidBMPPK</prim-key-class>
     <reentrant>False</reentrant>
  </entity>

Sample for EJB 2

<?xml version="1.0" encoding="UTF-8"?>
 <!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>
   <display-name>EJBModule_Ejemplo</display-name>
   <enterprise-beans>
     <entity>
       <ejb-name>Track</ejb-name>
       <local-home>is346.TrackHome</local-home>
       <local>is346.Track</local>
       <ejb-class>is346.TrackBean</ejb-class>
       <persistence-type>Container</persistence-type>
       <prim-key-class>java.lang.Integer</prim-key-class>
       <reentrant>False</reentrant>
       <cmp-version>2.x</cmp-version>
       <abstract-schema-name>Track</abstract-schema-name>
       <cmp-field>
         <field-name>id</field-name>
       </cmp-field>
       <cmp-field>
         <field-name>title</field-name>
       </cmp-field>
       <cmp-field>
         <field-name>duration</field-name>
       </cmp-field>
       <primkey-field>id</primkey-field>
     </entity>
     <entity>
       <ejb-name>Artist</ejb-name>
       <local-home>is346.ArtistHome</local-home>
       <local>is346.Artist</local>
       <ejb-class>is346.ArtistBean</ejb-class>
       <persistence-type>Container</persistence-type>
       <prim-key-class>java.lang.Integer</prim-key-class>
       <reentrant>False</reentrant>
       <cmp-version>2.x</cmp-version>
       <abstract-schema-name>Artist</abstract-schema-name>
       <cmp-field>
         <field-name>id</field-name>
       </cmp-field>
       <cmp-field>
         <field-name>name</field-name>
       </cmp-field>
       <primkey-field>id</primkey-field>
     </entity>
     <session>
       <ejb-name>TrackSessionFacade</ejb-name>
       <home>is346.TrackSessionFacadeHome</home>
       <remote>is346.TrackSessionFacade</remote>
       <ejb-class>is346.TrackSessionFacadeBean</ejb-class>
       <session-type>Stateless</session-type>
       <transaction-type>Container</transaction-type>
       <ejb-local-ref>
         <ejb-ref-name>ejb/track</ejb-ref-name>
         <ejb-ref-type>Entity</ejb-ref-type>
         <local-home>is346.TrackHome</local-home>
         <local>is346.Track</local>
         <ejb-link>Track</ejb-link>
       </ejb-local-ref>
     </session>
     <session>
       <ejb-name>ArtistSessionFacade</ejb-name>
       <home>is346.ArtistSessionFacadeHome</home>
       <remote>is346.ArtistSessionFacade</remote>
       <ejb-class>is346.ArtistSessionFacadeBean</ejb-class>
       <session-type>Stateless</session-type>
       <transaction-type>Container</transaction-type>
       <ejb-local-ref>
         <ejb-ref-name>ejb/artist</ejb-ref-name>
         <ejb-ref-type>Entity</ejb-ref-type>
         <local-home>is346.ArtistHome</local-home>
         <local>is346.Artist</local>
         <ejb-link>Artist</ejb-link>
       </ejb-local-ref>
     </session>
   </enterprise-beans>
   <relationships>
     <ejb-relation>
       <ejb-relation-name>track-artist</ejb-relation-name>
       <ejb-relationship-role>
         <description>track</description>
         <ejb-relationship-role-name>TrackRelationshipRole</ejb-relationship-role-name>
         <multiplicity>Many</multiplicity>
         <relationship-role-source>
           <description>track</description>
           <ejb-name>Track</ejb-name>
         </relationship-role-source>
         <cmr-field>
           <description>artist</description>
           <cmr-field-name>artist</cmr-field-name>
           <cmr-field-type>java.util.Collection</cmr-field-type>
         </cmr-field>
       </ejb-relationship-role>
       <ejb-relationship-role>
         <description>artist</description>
         <ejb-relationship-role-name>ArtistRelationshipRole</ejb-relationship-role-name>
         <multiplicity>Many</multiplicity>
         <relationship-role-source>
           <description>artist</description>
           <ejb-name>Artist</ejb-name>
         </relationship-role-source>
       </ejb-relationship-role>
     </ejb-relation>
   </relationships>
   <assembly-descriptor>
     <container-transaction>
       <method>
         <ejb-name>Track</ejb-name>
         <method-name>*</method-name>
       </method>
       <trans-attribute>Required</trans-attribute>
     </container-transaction>
     <container-transaction>
       <method>
         <ejb-name>Artist</ejb-name>
         <method-name>*</method-name>
       </method>
       <trans-attribute>Required</trans-attribute>
     </container-transaction>
     <container-transaction>
       <method>
         <ejb-name>TrackSessionFacade</ejb-name>
         <method-name>*</method-name>
       </method>
       <trans-attribute>Required</trans-attribute>
     </container-transaction>
     <container-transaction>
       <method>
         <ejb-name>ArtistSessionFacade</ejb-name>
         <method-name>*</method-name>
       </method>
       <trans-attribute>Required</trans-attribute>
     </container-transaction>
   </assembly-descriptor>
 </ejb-jar>

Sample for EJB 3.0

<?xml version="1.0" encoding="UTF-8"?>
<ejb-jar xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  version="3.0" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd">
  <enterprise-beans>
    <session>
      <ejb-name>TestBean</ejb-name>
      <ejb-ref>
        <ejb-ref-name>ejb/fooremote</ejb-ref-name>
        <ejb-ref-type>Session</ejb-ref-type>
        <remote>test.FooRemoteIF</remote>
      </ejb-ref>
      <env-entry>
        <description>admin email</description>
        <env-entry-name>adminEmail</env-entry-name>
        <env-entry-value>admin@example.x</env-entry-value>
      </env-entry>
    </session>
  </enterprise-beans>

  <interceptors>
    <interceptor>
      <interceptor-class>test.Interceptor1</interceptor-class>
    </interceptor>
  </interceptors>

  <assembly-descriptor>
    <interceptor-binding>
      <ejb-name>*</ejb-name>
      <interceptor-class>test.Interceptor1</interceptor-class>
    </interceptor-binding>
  </assembly-descriptor>
</ejb-jar>

Also Some Client implementation are providing own configuration for the same. e.g. Weblogic need to have weblogic-ejb-jar.xml Deployment Descriptor Reference. For more help for web logic can see : http://docs.oracle.com/cd/E13222_01/wls/docs81/ejb/DDreference-ejb-jar.html

37 questions
0
votes
1 answer

Accessing configration of ejb-jar.xml in EJB class

I have an EJB deployed with configurations in ejb-jar.xml and I would like to access configurations in my EJB class during ejbCreate() i.e. Bean or Container as I have to pass this value to my framework for internal work. Note:…
SJunejo
  • 1,316
  • 4
  • 23
  • 39
0
votes
1 answer

Ejb jar for Jboss PER environment

I am trying to read the attributes from a properties file into a field in ejb-jar.xml via ANT. I have one properties file PER environment which contains an IP address which must be written into ejb-jar.xml when ANT is building the ear. How would I…
0
votes
1 answer

Configure Message Driven Bean using ejb-jar.xml

I am trying to configure Message Driven Bean using ejb-jar. I am using EJB 3.1, Netbeans 7.3 and Glassfish 3.1.2, but I am getting exception: Exception while deploying the app: org.xml.sax.SAXParseException; lineNumber: 8; columnNumber: 29;…
Sanja
  • 397
  • 2
  • 7
  • 24
0
votes
1 answer

Deploy MDB using GenericJMSRA on GlassFish with annotations?

On GlassFish Server 2.1 I have created a GenericJMSRA for connection with ActiveMQ as described in this guideline: http://activemq.apache.org/sjsas-with-genericjmsra.html I have successfully been able to deploy an MDB using the the classical way of…
aksamit
  • 2,325
  • 8
  • 28
  • 40
0
votes
2 answers

OC4J 10.1.3.4 problem with deploying multiple 2.1 EJBs

I am having troubles migrating from OC4J 10.1.2.3 to 10.1.3.1.4. The problem is for applications that have multiple EJBs (all are 2.1, no EJB 3.0). Jdeveloper will take the default ejb-jar.xml (the one required for Jdeveloper to run it on its…
Zombies
  • 25,039
  • 43
  • 140
  • 225
0
votes
1 answer

ejb-jar.xml env-entry enums

This is my ejb-jar.xml:
Steve
  • 8,066
  • 11
  • 70
  • 112
0
votes
1 answer

Declare a resource-ref in EJB

This is how they declare a resource-ref in ejb-jar.xml : …
Victor
  • 16,609
  • 71
  • 229
  • 409
1 2
3