Mantis Bugtracker
  

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0000544 [Resin] minor always 12-22-05 04:46 02-02-06 15:25
Reporter p0p0lam View Status public  
Assigned To ferg
Priority normal Resolution fixed  
Status closed   Product Version 3.0.16
Summary 0000544: com.caucho.config.LineConfigException: /WEB-INF/cmp-map.ejb:160 when using bean with compound primary key
Description here is the definitions:
<?xml version="1.0" encoding="UTF-8"?>
<!--
  - Deployment Descriptor for examples.cmp.map.*
  -
  - To make development less of a hassle, Resin-CMP will recognize
  - all *.ejb files that are stored in EjbServlet's WEB-INF
  - directory as deployment descriptors.
  -->

<ejb-jar>
  <enterprise-beans>


    <entity>
      <ejb-name>map_StudentBean</ejb-name>
      <cmp-version>2.x</cmp-version>
      <local-home>example.cmp.map.StudentHome</local-home>
      <local>example.cmp.map.Student</local>
      <ejb-class>example.cmp.map.StudentBean</ejb-class>
      <abstract-schema-name>map_students</abstract-schema-name>
      <primkey-field>sid</primkey-field>
      <prim-key-class>int</prim-key-class>

      <cmp-field><field-name>sid</field-name></cmp-field>
      <cmp-field><field-name>name</field-name></cmp-field>
      <cmp-field><field-name>descr</field-name></cmp-field>

      <query>
        <query-method>
           <method-name>findAll</method-name>
           <method-params></method-params>
        </query-method>
        <ejb-ql>
          <![CDATA[SELECT o FROM map_students o]]>
        </ejb-ql>
      </query>

      <persistence-type>Container</persistence-type>
      <reentrant>True</reentrant>
    </entity>

   <entity>
      <ejb-name>map_CourseBean</ejb-name>
      <local-home>example.cmp.map.CourseHome</local-home>
      <local>example.cmp.map.Course</local>
      <ejb-class>example.cmp.map.CourseBean</ejb-class>
      <abstract-schema-name>map_courses</abstract-schema-name>
      <prim-key-class>int</prim-key-class>
      <primkey-field>cid</primkey-field>
      <cmp-field><field-name>name</field-name></cmp-field>
       <cmp-field><field-name>descr</field-name></cmp-field>
      <persistence-type>Container</persistence-type>
      <reentrant>True</reentrant>
    </entity>

      <entity>
           <ejb-name>userBean</ejb-name>
           <cmp-version>2.x</cmp-version>
           <local-home>example.cmp.map.UserHome</local-home>
           <local>example.cmp.map.User</local>
           <ejb-class>example.cmp.map.UserBean</ejb-class>
           <abstract-schema-name>users</abstract-schema-name>
           <primkey-field>uid</primkey-field>
           <prim-key-class>Integer</prim-key-class>
           <sql-table>app_users</sql-table>
            <cmp-field>
                       <field-name>name</field-name>
                       <sql-column>user_name</sql-column>
              </cmp-field>
             <cmp-field>
                       <field-name>uid</field-name>
                 <sql-column>user_id</sql-column>
              </cmp-field>
                  <query>
             <query-method>
                <method-name>findAll</method-name>
                <method-params></method-params>
             </query-method>
             <ejb-ql>
               <![CDATA[SELECT o FROM users o]]>
             </ejb-ql>
           </query>
                <persistence-type>Container</persistence-type>
           <reentrant>True</reentrant>
         </entity>


    <entity>
      <ejb-name>applicationBean</ejb-name>
      <local-home>example.cmp.map.ApplicationHome</local-home>
      <local>example.cmp.map.Application</local>
      <ejb-class>example.cmp.map.ApplicationBean</ejb-class>
      <abstract-schema-name>apps</abstract-schema-name>
      <prim-key-class>Integer</prim-key-class>
      <primkey-field>aid</primkey-field>
        <sql-table>web_app</sql-table>
      <cmp-field>
                  <field-name>name</field-name>
                  <sql-column>app_name</sql-column>
         </cmp-field>
      <cmp-field>
                  <field-name>aid</field-name>
                  <sql-column>app_id</sql-column>
         </cmp-field>

      <persistence-type>Container</persistence-type>
      <reentrant>True</reentrant>


    </entity>



    <entity>
      <ejb-name>map_GradeBean</ejb-name>
      <local-home>example.cmp.map.GradeHome</local-home>
      <local>example.cmp.map.Grade</local>
      <ejb-class>example.cmp.map.GradeBean</ejb-class>
      <abstract-schema-name>map_grades</abstract-schema-name>
      <prim-key-class>example.cmp.map.GradeKey</prim-key-class>

      <cmp-field><field-name>grade</field-name></cmp-field>

      <persistence-type>Container</persistence-type>
      <reentrant>True</reentrant>
    </entity>

      <entity>
      <ejb-name>sapplicationBean1</ejb-name>
      <local-home>example.cmp.map.AppHome</local-home>
      <local>example.cmp.map.App</local>
      <ejb-class>example.cmp.map.AppBean</ejb-class>
      <abstract-schema-name>sapps</abstract-schema-name>
      <prim-key-class>Integer</prim-key-class>
      <primkey-field>aid</primkey-field>
        <sql-table>web_app1</sql-table>
      <cmp-field>
                  <field-name>name</field-name>
                  <sql-column>appname</sql-column>
         </cmp-field>
      <cmp-field>
                  <field-name>aid</field-name>
                  <sql-column>appid</sql-column>
         </cmp-field>

      <persistence-type>Container</persistence-type>
      <reentrant>True</reentrant>

      <query>
        <query-method>
          <method-name>findByName</method-name>
        </query-method>
        <ejb-ql><![CDATA[select object(d) from sapps d where d.name= ?1]]></ejb-ql>
      </query>

    </entity>

     <entity>
      <ejb-name>accessBean</ejb-name>
      <local-home>example.cmp.map.AccessHome</local-home>
      <local>example.cmp.map.Access</local>
      <ejb-class>example.cmp.map.AccessBean</ejb-class>
      <abstract-schema-name>app_access</abstract-schema-name>
      <prim-key-class>example.cmp.map.AccessKey</prim-key-class>

      <persistence-type>Container</persistence-type>
      <reentrant>True</reentrant>
    </entity>



  </enterprise-beans>

  <relationships>
     <ejb-relation>
      <ejb-relationship-role>
        <relationship-role-source>
           <ejb-name>map_StudentBean</ejb-name>
        </relationship-role-source>
        <cmr-field>
          <cmr-field-name>grades</cmr-field-name>
        </cmr-field>
      </ejb-relationship-role>

      <ejb-relationship-role>
        <relationship-role-source>
          <ejb-name>map_GradeBean</ejb-name>
        </relationship-role-source>
        <cmr-field>
          <cmr-field-name>student</cmr-field-name>
        </cmr-field>
      </ejb-relationship-role>
    </ejb-relation>

    <ejb-relation>
      <ejb-relationship-role>
        <relationship-role-source>
           <ejb-name>map_CourseBean</ejb-name>
        </relationship-role-source>
      </ejb-relationship-role>

      <ejb-relationship-role>
        <relationship-role-source>
          <ejb-name>map_GradeBean</ejb-name>
        </relationship-role-source>
        <cmr-field>
          <cmr-field-name>course</cmr-field-name>
        </cmr-field>
      </ejb-relationship-role>
    </ejb-relation>

      <!-- new relation -->
      <ejb-relation>
      <ejb-relationship-role>
        <relationship-role-source>
           <ejb-name>userBean</ejb-name>
        </relationship-role-source>
        <cmr-field>
          <cmr-field-name>applications</cmr-field-name>
        </cmr-field>
      </ejb-relationship-role>

      <ejb-relationship-role>
        <relationship-role-source>
          <ejb-name>accessBean</ejb-name>
        </relationship-role-source>
        <cmr-field>
          <cmr-field-name>user</cmr-field-name>
           <sql-column>user_id</sql-column>
        </cmr-field>
      </ejb-relationship-role>
    </ejb-relation>

    <ejb-relation>
      <ejb-relationship-role>
        <relationship-role-source>
           <ejb-name>applicationBean</ejb-name>
        </relationship-role-source>
      </ejb-relationship-role>

      <ejb-relationship-role>
        <relationship-role-source>
          <ejb-name>accessBean</ejb-name>
        </relationship-role-source>
        <cmr-field>
           <cmr-field-name>application</cmr-field-name>
            <sql-column>app_id</sql-column>
        </cmr-field>
      </ejb-relationship-role>
    </ejb-relation>

  </relationships>
</ejb-jar>
  
Additional Information
Attached Files

- Relationships

- Notes
(0000558)
p0p0lam
12-22-05 04:48

If i move entity sapplicationBean1 to the first position, resin starts fine
 
(0000848)
ferg
02-02-06 15:25

error messages were not properly generated for java.util.Map introspection.

Also, it's possible to get more information from the error message by setting the logging level="finer". That will give the stack trace and source of the error message when the error message is too cryptic.
 

- Issue History
Date Modified Username Field Change
12-22-05 04:46 p0p0lam New Issue
12-22-05 04:48 p0p0lam Note Added: 0000558
02-02-06 15:25 ferg Note Added: 0000848
02-02-06 15:25 ferg Assigned To  => ferg
02-02-06 15:25 ferg Status new => closed
02-02-06 15:25 ferg Resolution open => fixed
02-02-06 15:25 ferg Fixed in Version  => 3.0.18
02-02-06 15:25 ferg View Status @0@ => public


Mantis 1.0.0rc3[^]
Copyright © 2000 - 2005 Mantis Group
31 total queries executed.
27 unique queries executed.
Powered by Mantis Bugtracker