Mantis Bugtracker
  

Viewing Issue Advanced Details Jump to Notes ] View Simple ] 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 Platform
Status closed   OS
Projection none   OS Version
ETA none Fixed in Version 3.0.18 Product Version 3.0.16
  Product Build
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>
  
Steps To Reproduce
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