Hi,

   I am wondering what the deployment descriptors for
   container-managed entity bean should be like.
   Let say I have "classB" inherit from the base class
   "classA". Below are the xml files that I come up
   with.  When I tried to build the jar file then I
   got the following errors:

   ....
   ....
   ERROR: Error from ejbc: No container managed fields were set for CMP bean
   classB_ejb
   ERROR: Error from ejbc: A valid home interface was not set for bean
   classA_base_ejb

   My questions are:
   (1) Since classB home interface should not inherit from class_A home interface,
       isn't that classA should not have a home interface?
   (2) Since classB inherits from classA, isn't that classB cmp fields do not
       needed to be specified in the ejb-jar.xml file?

   Currently I am using Weblogic 5.1.
   Any pointers or advice is appreciated.

   Dennis

   ejb-jar.xml
   ===========
   ......
   ......
    <ejb-jar>
     <enterprise-beans>
        <entity>
           <ejb-name> classA_base_ejb </ejb-name>
           <home>  </home>
           <remote> classA_Remote </remote>
           <ejb-class> classA_Bean </ejb-class>
           <persistence-type> Container </persistence-type>
           <prim-key-class> classA_PK </prim-key-class>
           <reentrant> False </reentrant>
           <cmp-field>
             <field-name> pkey </field-name>
           </cmp-field>
           <cmp-field>
             <field-name> name </field-name>
           </cmp-field>
         </entity>
         <entity>
            <ejb-name> classB_ejb </ejb-name>
            <home> classB_Home </home>
            <remote> classB_Remote </remote>
            <ejb-class> classB_Bean </ejb-class>
            <persistence-type> Container </persistence-type>
            <prim-key-class> classA_PK </prim-key-class>
            <reentrant> False </reentrant>
          </entity>
       </enterprise-beans>
       <assembly-descriptor>
          <container-transaction>
             <method>
               <ejb-name> classA_base_ejb </ejb-name>
               <method-intf> Remote </method-intf>
               <method-name> * </method-name>
             </method>
             <trans-attribute> Required </trans-attribute>
          </container-transaction>
        </assembly-descriptor>
    </ejb-jar>


   weblogic-ejb-jar.xml
   ====================
   ......
   ......
    <weblogic-ejb-jar>
       <weblogic-enterprise-bean>
       <ejb-name> classA_base_ejb </ejb-name>
       <caching-descriptor>
          <max-beans-in-free-pool> 20 </max-beans-in-free-pool>
          <max-beans-in-cache> 1000 </max-beans-in-cache>
          <cache-strategy> Read-Write </cache-strategy>
       </caching-descriptor>
       <persistence-descriptor>
          <persistence-type>
             <type-identifier>
               WebLogic_CMP_RDBMS
             </type-identifier>
             <type-version> 5.1.0 </type-version>
             <type-storage>
               META-INF/classA-cmp-rdbms.xml
             </type-storage>
          </persistence-type>
          <persistence-use>
            <type-identifier>
              WebLogic_CMP_RDBMS
            </type-identifier>
            <type-version> 5.1.0 </type-version>
          </persistence-use>
        </persistence-descriptor>
        <jndi-name> classA </jndi-name>
      </weblogic-enterprise-bean>

      <weblogic-enterprise-bean>
         <ejb-name> classB_ejb </ejb-name>
         <caching-descriptor>
            <max-beans-in-free-pool> 20 </max-beans-in-free-pool>
            <max-beans-in-cache> 1000 </max-beans-in-cache>
            <cache-strategy> Read-Write </cache-strategy>
         </caching-descriptor>
         <persistence-descriptor>
            <persistence-type>
                <type-identifier>
                  WebLogic_CMP_RDBMS
                </type-identifier>
                <type-version> 5.1.0 </type-version>
                <type-storage>
                  META-INF/classA-cmp-rdbms.xml
                </type-storage>
             </persistence-type>
         <persistence-use>
         <type-identifier>
           WebLogic_CMP_RDBMS
         </type-identifier>
         <type-version> 5.1.0 </type-version>
       </persistence-use>
      </persistence-descriptor>
      <jndi-name> classB </jndi-name>
      </weblogic-enterprise-bean>
    </weblogic-ejb-jar>


   classA-cmp-rdbms.xml
   ====================
   ......
   ......
    <weblogic-rdbms-bean>
       <pool-name> oraclePool </pool-name>
       <table-name> profiles </table-name>
       <attribute-map>
         <object-link>
            <bean-field> pkey </bean-field>
            <dbms-column> address </dbms-column>
         </object-link>
         <object-link>
            <bean-field> name </bean-field>
            <dbms-column> user_name </dbms-column>
         </object-link>
       </attribute-map>
       <finder-list>
          <finder>
            <method-name> findAllClasses </method-name>
            <method-params>  </method-params>
            <finder-query>  </finder-query>
          </finder>
          <finder>
            <method-name> findByName </method-name>
            <method-params>
               <method-param> java.lang.String </method-param>
            </method-params>
            <finder-query>  <![CDATA[(= name $0)]]>  </finder-query>
          </finder>
       </finder-list>
       <options>
          <use-quoted-names> false </use-quoted-names>
          <transaction-isolation>
            TRANSACTION_READ_COMMITTED
          </transaction-isolation>
       </options>
    </weblogic-rdbms-bean>

------------------------------------------------------------
--== Sent via Deja.com http://www.deja.com/ ==--
Before you buy.

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff EJB-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to