cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tomas Stenlund <tomas.stenl...@telia.com>
Subject Re: Exception in Cayenne Modeler, heap blows up
Date Fri, 24 Sep 2010 17:32:10 GMT
Hi again,

thanks for the help.

I run on Ubuntu Lucid Lynx, and tried java -Xmx512m -jar 
CayenneModeler.jar but with the same result. It just took a while longer 
for the heap to fill up. The stacktrace also shows a different position. 
Anyway, this happens when I add an additional relationship between two 
entities in my datamodel and do synch. I have included the DomainMap.

When I load it into cayenne, select the PositionTemplateDBEntity (the 
newly added relationship is the "fromHeat" relationship to 
HeatTemplateDBEntity, the "toPositions" relationship in 
HeatTemplateDBEntity is the reverse relationship). When I press "Synch", 
the GUI becomes unresponsive and after a minute or so I get the out of 
heap space exception. I thought that I might have cause some loop in the 
model, but anyway to eludes me.

/Tomas

<?xml version="1.0" encoding="utf-8"?>
<data-map xmlns="http://cayenne.apache.org/schema/3.0/modelMap"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://cayenne.apache.org/schema/3.0/modelMap 
http://cayenne.apache.org/schema/3.0/modelMap.xsd"
   project-version="3.0.0.1">
<property name="defaultPackage" value="cc.stenlund.xc.base"/>
<db-entity name="ClubDbEntity">
<db-attribute name="fkid_competition" type="INTEGER" isMandatory="true"/>
<db-attribute name="id_club" type="INTEGER" isPrimaryKey="true" 
isMandatory="true"/>
<db-attribute name="name" type="CHAR" isMandatory="true" length="80"/>
</db-entity>
<db-entity name="CompetitionDbEntity">
<db-attribute name="id_competition" type="INTEGER" isPrimaryKey="true" 
isMandatory="true"/>
<db-attribute name="name" type="CHAR" isMandatory="true" length="80"/>
</db-entity>
<db-entity name="HeatTemplateDbEntity">
<db-attribute name="fkid_sprinttemplate" type="INTEGER" isMandatory="true"/>
<db-attribute name="heatname" type="CHAR" isMandatory="true" length="20"/>
<db-attribute name="id_heat" type="INTEGER" isPrimaryKey="true" 
isMandatory="true"/>
</db-entity>
<db-entity name="PositionTemplateDbEntity">
<db-attribute name="fkid_fromheat" type="INTEGER"/>
<db-attribute name="fkid_heattemplate" type="INTEGER" isMandatory="true"/>
<db-attribute name="fromposition" type="INTEGER"/>
<db-attribute name="id_position" type="INTEGER" isPrimaryKey="true" 
isMandatory="true"/>
<db-attribute name="position" type="INTEGER" isMandatory="true"/>
</db-entity>
<db-entity name="RaceDbEntity">
<db-attribute name="fkid_competition" type="INTEGER" isMandatory="true"/>
<db-attribute name="id_race" type="INTEGER" isPrimaryKey="true" 
isMandatory="true"/>
<db-attribute name="name" type="CHAR" isMandatory="true" length="80"/>
</db-entity>
<db-entity name="RaceSkierDbEntity">
<db-attribute name="fkid_race" type="INTEGER" isMandatory="true"/>
<db-attribute name="fkid_skier" type="INTEGER" isMandatory="true"/>
<db-attribute name="id_raceskier" type="INTEGER" isPrimaryKey="true" 
isMandatory="true"/>
</db-entity>
<db-entity name="SkierDbEntity">
<db-attribute name="firstname" type="CHAR" isMandatory="true" length="80"/>
<db-attribute name="fkid_club" type="INTEGER" isMandatory="true"/>
<db-attribute name="id_skier" type="INTEGER" isPrimaryKey="true" 
isMandatory="true"/>
<db-attribute name="lastname" type="CHAR" isMandatory="true" length="80"/>
</db-entity>
<db-entity name="SprintTemplateDbEntity">
<db-attribute name="fkid_competition" type="INTEGER" isMandatory="true"/>
<db-attribute name="fkid_prolog" type="INTEGER"/>
<db-attribute name="id_sprinttemplate" type="INTEGER" 
isPrimaryKey="true" isMandatory="true"/>
<db-attribute name="name" type="CHAR" isMandatory="true" length="80"/>
</db-entity>
<obj-entity name="ClubObjEntity" 
className="cc.stenlund.xc.base.ClubObjEntity" dbEntityName="ClubDbEntity">
<obj-attribute name="name" type="java.lang.String" 
db-attribute-path="name"/>
</obj-entity>
<obj-entity name="CompetitionObjEntity" 
className="cc.stenlund.xc.base.CompetitionObjEntity" 
dbEntityName="CompetitionDbEntity">
<obj-attribute name="name" type="java.lang.String" 
db-attribute-path="name"/>
</obj-entity>
<obj-entity name="HeatTemplateObjEntity" 
className="cc.stenlund.xc.base.HeatTemplateObjEntity" 
dbEntityName="HeatTemplateDbEntity">
<obj-attribute name="heatname" type="java.lang.String" 
db-attribute-path="heatname"/>
</obj-entity>
<obj-entity name="PositionTemplateObjEntity" 
className="cc.stenlund.xc.base.PositionTemplateObjEntity" 
dbEntityName="PositionTemplateDbEntity">
<obj-attribute name="fkidFromheat" type="java.lang.Integer" 
db-attribute-path="fkid_fromheat"/>
<obj-attribute name="fromposition" type="java.lang.Integer" 
db-attribute-path="fromposition"/>
<obj-attribute name="position" type="java.lang.Integer" 
db-attribute-path="position"/>
</obj-entity>
<obj-entity name="RaceObjEntity" 
className="cc.stenlund.xc.base.RaceObjEntity" dbEntityName="RaceDbEntity">
<obj-attribute name="name" type="java.lang.String" 
db-attribute-path="name"/>
</obj-entity>
<obj-entity name="RaceSkierObjEntity" 
className="cc.stenlund.xc.base.RaceSkierObjEntity" 
dbEntityName="RaceSkierDbEntity">
</obj-entity>
<obj-entity name="SkierObjEntity" 
className="cc.stenlund.xc.base.SkierObjEntity" dbEntityName="SkierDbEntity">
<obj-attribute name="firstname" type="java.lang.String" 
db-attribute-path="firstname"/>
<obj-attribute name="lastname" type="java.lang.String" 
db-attribute-path="lastname"/>
</obj-entity>
<obj-entity name="SprintTemplateObjEntity" 
className="cc.stenlund.xc.base.SprintTemplateObjEntity" 
dbEntityName="SprintTemplateDbEntity">
<obj-attribute name="name" type="java.lang.String" 
db-attribute-path="name"/>
</obj-entity>
<db-relationship name="allSkiers" source="ClubDbEntity" 
target="SkierDbEntity" toMany="true">
<db-attribute-pair source="id_club" target="fkid_club"/>
</db-relationship>
<db-relationship name="belongsToCompetition" source="ClubDbEntity" 
target="CompetitionDbEntity" toMany="false">
<db-attribute-pair source="fkid_competition" target="id_competition"/>
</db-relationship>
<db-relationship name="allClubs" source="CompetitionDbEntity" 
target="ClubDbEntity" toMany="true">
<db-attribute-pair source="id_competition" target="fkid_competition"/>
</db-relationship>
<db-relationship name="allRaces" source="CompetitionDbEntity" 
target="RaceDbEntity" toMany="true">
<db-attribute-pair source="id_competition" target="fkid_competition"/>
</db-relationship>
<db-relationship name="allSprintTemplates" source="CompetitionDbEntity" 
target="SprintTemplateDbEntity" toMany="true">
<db-attribute-pair source="id_competition" target="fkid_competition"/>
</db-relationship>
<db-relationship name="allPositions" source="HeatTemplateDbEntity" 
target="PositionTemplateDbEntity" toMany="true">
<db-attribute-pair source="id_heat" target="fkid_heattemplate"/>
</db-relationship>
<db-relationship name="belongsToSprintTemplate" 
source="HeatTemplateDbEntity" target="SprintTemplateDbEntity" 
toMany="false">
<db-attribute-pair source="fkid_sprinttemplate" target="id_sprinttemplate"/>
</db-relationship>
<db-relationship name="thisPrologBelongsToSprintTemplate" 
source="HeatTemplateDbEntity" target="SprintTemplateDbEntity" 
toMany="false">
<db-attribute-pair source="id_heat" target="fkid_prolog"/>
</db-relationship>
<db-relationship name="belongsToHeat" source="PositionTemplateDbEntity" 
target="HeatTemplateDbEntity" toMany="false">
<db-attribute-pair source="fkid_heattemplate" target="id_heat"/>
</db-relationship>
<db-relationship name="allRaceSkiers" source="RaceDbEntity" 
target="RaceSkierDbEntity" toMany="true">
<db-attribute-pair source="id_race" target="fkid_race"/>
</db-relationship>
<db-relationship name="belongsToCompetition" source="RaceDbEntity" 
target="CompetitionDbEntity" toMany="false">
<db-attribute-pair source="fkid_competition" target="id_competition"/>
</db-relationship>
<db-relationship name="belongsToRace" source="RaceSkierDbEntity" 
target="RaceDbEntity" toMany="false">
<db-attribute-pair source="fkid_race" target="id_race"/>
</db-relationship>
<db-relationship name="skier" source="RaceSkierDbEntity" 
target="SkierDbEntity" toMany="false">
<db-attribute-pair source="fkid_skier" target="id_skier"/>
</db-relationship>
<db-relationship name="belongsToClub" source="SkierDbEntity" 
target="ClubDbEntity" toMany="false">
<db-attribute-pair source="fkid_club" target="id_club"/>
</db-relationship>
<db-relationship name="competesAsRaceSkiers" source="SkierDbEntity" 
target="RaceSkierDbEntity" toMany="true">
<db-attribute-pair source="id_skier" target="fkid_skier"/>
</db-relationship>
<db-relationship name="allHeats" source="SprintTemplateDbEntity" 
target="HeatTemplateDbEntity" toMany="true">
<db-attribute-pair source="id_sprinttemplate" target="fkid_sprinttemplate"/>
</db-relationship>
<db-relationship name="belongsToCompetition" 
source="SprintTemplateDbEntity" target="CompetitionDbEntity" toMany="false">
<db-attribute-pair source="fkid_competition" target="id_competition"/>
</db-relationship>
<db-relationship name="prolog" source="SprintTemplateDbEntity" 
target="HeatTemplateDbEntity" toMany="false">
<db-attribute-pair source="fkid_prolog" target="id_heat"/>
</db-relationship>
<obj-relationship name="allSkiers" source="ClubObjEntity" 
target="SkierObjEntity" deleteRule="Deny" db-relationship-path="allSkiers"/>
<obj-relationship name="belongsToClub" source="ClubObjEntity" 
target="CompetitionObjEntity" deleteRule="Nullify" 
db-relationship-path="belongsToCompetition"/>
<obj-relationship name="allClubs" source="CompetitionObjEntity" 
target="ClubObjEntity" deleteRule="Deny" db-relationship-path="allClubs"/>
<obj-relationship name="allRaces" source="CompetitionObjEntity" 
target="RaceObjEntity" deleteRule="Deny" db-relationship-path="allRaces"/>
<obj-relationship name="allSprintTemplates" 
source="CompetitionObjEntity" target="SprintTemplateObjEntity" 
deleteRule="Deny" db-relationship-path="allSprintTemplates"/>
<obj-relationship name="allPositions" source="HeatTemplateObjEntity" 
target="PositionTemplateObjEntity" deleteRule="Deny" 
db-relationship-path="allPositions"/>
<obj-relationship name="belongsToSprintTemplate" 
source="HeatTemplateObjEntity" target="SprintTemplateObjEntity" 
deleteRule="Nullify" db-relationship-path="belongsToSprintTemplate"/>
<obj-relationship name="prologSprintTemplater" 
source="HeatTemplateObjEntity" target="SprintTemplateObjEntity" 
deleteRule="Nullify" 
db-relationship-path="thisPrologBelongsToSprintTemplate"/>
<obj-relationship name="belongsToHeat" 
source="PositionTemplateObjEntity" target="HeatTemplateObjEntity" 
deleteRule="Nullify" db-relationship-path="belongsToHeat"/>
<obj-relationship name="allRaceSkiers" source="RaceObjEntity" 
target="RaceSkierObjEntity" deleteRule="Deny" 
db-relationship-path="allRaceSkiers"/>
<obj-relationship name="belongsToCompetition" source="RaceObjEntity" 
target="CompetitionObjEntity" deleteRule="Nullify" 
db-relationship-path="belongsToCompetition"/>
<obj-relationship name="belongsToRace" source="RaceSkierObjEntity" 
target="RaceObjEntity" deleteRule="Nullify" 
db-relationship-path="belongsToRace"/>
<obj-relationship name="skier" source="RaceSkierObjEntity" 
target="SkierObjEntity" deleteRule="Nullify" db-relationship-path="skier"/>
<obj-relationship name="belongsToClub" source="SkierObjEntity" 
target="ClubObjEntity" deleteRule="Nullify" 
db-relationship-path="belongsToClub"/>
<obj-relationship name="competesAsRaceSkiers" source="SkierObjEntity" 
target="RaceSkierObjEntity" deleteRule="Deny" 
db-relationship-path="competesAsRaceSkiers"/>
<obj-relationship name="allHeats" source="SprintTemplateObjEntity" 
target="HeatTemplateObjEntity" deleteRule="Deny" 
db-relationship-path="allHeats"/>
<obj-relationship name="belongsToCompetition" 
source="SprintTemplateObjEntity" target="CompetitionObjEntity" 
deleteRule="Nullify" db-relationship-path="belongsToCompetition"/>
<obj-relationship name="prolog" source="SprintTemplateObjEntity" 
target="HeatTemplateObjEntity" deleteRule="Nullify" 
db-relationship-path="prolog"/>
</data-map>


2010-09-24 18:27, Andrus Adamchik skrev:
> On Linux, you should probably run it as "java -Xmx512m CayenneModeler.jar" or something
like that, so specifying how much heap the JVM should use is up to you. In a Windows assembly
run from .exe, -Xmx is passed by the executable launcher, and the user doesn't have much control
(except that he can of course run it from command line, like the example above). So these
are some significant differences.
>
> Andrus
>
>
> On Sep 24, 2010, at 7:21 PM, gilbertoca wrote:
>
>    
>> I can confirm this problem.
>>
>> gilberto@SUGEP-DMASI:~$ cat /etc/SuSE-release
>> openSUSE 11.3 (i586)
>> VERSION = 11.3
>> gilberto@SUGEP-DMASI:~$ java -version
>> java version "1.6.0_21"
>> Java(TM) SE Runtime Environment (build 1.6.0_21-b06)
>> Java HotSpot(TM) Server VM (build 17.0-b16, mixed mode)
>>
>> Cayenne version: 3.0.1
>>
>> In my case, cayenne-modeler freezes and I have to kill it.
>> So, I can't use that option.
>>
>> Regards,
>>
>> Gilberto
>>
>> -- 
>> View this message in context: http://cayenne.195.n3.nabble.com/Exception-in-Cayenne-Modeler-heap-blows-up-tp1572059p1575026.html
>> Sent from the Cayenne - User mailing list archive at Nabble.com.
>>
>>      
>
>    


Mime
View raw message