You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ojb-user@db.apache.org by Marwane <am...@gmail.com> on 2007/01/23 22:06:54 UTC
Crash system - DUMP File generated with OJB
Hi,
we have a production application on system Windows Server that using :
WebSphere 6.0
OJB version 1.0.3
the application generate a lot of dump file in the system witch cause a
system crash .. in the log i find this :
1,095,332,808 [24] 2
org/apache/ojb/broker/metadata/fieldaccess/AnonymousPersistentField
0x11841c40
1,095,332,784 [72] 2 org/apache/ojb/broker/util/ReferenceMap 0x1664db30
1,095,332,664 [262,160] 23,114 array of
org/apache/ojb/broker/util/ReferenceMap$Entry 0x71b48528
38,548,064 [32] 4 org/apache/ojb/broker/util/ReferenceMap$Entry
0x60e5c2f0
38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
0x229d1fd0
38,543,048 [32] 2 org/apache/ojb/broker/util/ReferenceMap$WeakRef
0x229d1ff0
38,543,016 [40] 4
com/convergence/utile/habilitations/MotdePasse 0x229d20b8
38,542,032 [120] 14
com/convergence/utile/habilitations/Utilisateur 0x2056fde0
38,146,872 [64] 6
com/convergence/utile/habilitations/Profil 0x1e806358
390,528 [24] 1
org/apache/ojb/broker/util/collections/ManageableArrayList 0x29d00308
3,032 [24] 1
org/apache/ojb/broker/util/collections/ManageableArrayList 0x254d0d38
880 [128] 9 java/util/GregorianCalendar 0x205702b0
128 [40] 4 com/convergence/utile/organisation/Entite
0x21cca310
88 [32] 1 java/lang/String 0x2056ffa0
80 [24] 1
org/apache/ojb/broker/util/collections/ManageableArrayList 0x2b1e6ee8
80 [24] 1 java/util/ArrayList 0x2056fdc8
64 [32] 1 java/lang/String 0x2056fed8
56 [32] 1 java/lang/String 0x2056ff10
56 [32] 1 java/lang/String 0x2056ff48
48 [32] 1 java/lang/String 0x2056fe98
16 [16] 0 java/lang/Boolean 0x101eccb0
16 [16] 0 java/lang/Boolean 0x101eccc0
880 [128] 9 java/util/GregorianCalendar 0x229d2430
64 [32] 1 java/lang/String 0x229d2120
16 [16] 0 java/lang/Boolean 0x101eccc0
48 [32] 1 java/lang/ref/ReferenceQueue 0x1664db10
24 [24] 0 java/lang/Long 0x229d20e8
1,095,332,784 [72] 2 org/apache/ojb/broker/util/ReferenceMap
0x1664db30
4,904 [32] 2 org/apache/ojb/broker/util/ReferenceMap$WeakRef
0x60e5c310
24 [24] 0 java/lang/Long 0x60e5c360
1,095,332,784 [72] 2 org/apache/ojb/broker/util/ReferenceMap
0x1664db30
38,547,920 [32] 4 org/apache/ojb/broker/util/ReferenceMap$Entry
0x659aea38
38,543,280 [32] 4 org/apache/ojb/broker/util/ReferenceMap$Entry
0x19f95b00
38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
0x65d52218
38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
0x675fd680
38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
0x4a016de8
38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
0x1b3b09c0
38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
0x4384a5e8
38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
0x270b7740
38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
0x1c9d4ed0
38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
0x505d07a0
38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
0x3b8f8f10
38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
0x6916b088
38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
0x3d6fdbd0
38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
0x14a30960
38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
0x5d3cd108
38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
0x13937968
38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
0x1aa7b5f8
38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
0x118db108
38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
0x58115890
There are 23,094 more children
so, some object like 'org/apache/ojb/broker/util/ReferenceMap$Entry',
'org/apache/ojb/broker/util/ReferenceMap' ,
org/apache/ojb/broker/metadata/fieldaccess/AnonymousPersistentField objects
are consuming
more than 1 GB (1,095,332,664 bytes) on heap.
I need an explanation of this , please. and solution or test to do .
thx in advance.
Re: Crash system - DUMP File generated with OJB
Posted by Armin Waibel <ar...@apache.org>.
Hi,
Marwane wrote:
> Hi,
> 1. can you explain me the purpose of the classe ReferenceMap$Entry ??
It represents an map entry object and guarantee the correct return of
the real key and value objects, e.g. when using of soft- or
weak-references for key/value (instead of hard references) is enabled.
> 2. the Class Utilisateur is the User , i make it in http session so is
> alawayse live and the GC dont kill it and the Class User has some field
> anonymous. so this tell you somthing ....???
>
yep, as long as you reference Utilisateur in your session the GC can't
collect the referenced MotdePasse objects. But if the session close (and
no other hard references to Utilisateur exist) the GC will free
Utilisateur (with all referenced objects) and the ReferenceMap should
free these objects too.
> you don't have another solution please , beacause i have a lot
> anonymous field about 150 fields !!!!!
>
You could try to remove the anonymous keys in Utilisateur and MotdePasse
first and then check memory consumption of MotdePasse while running your
app.
If this will prevent the crash, the problem is caused by OJB's anonymous
key (and I have to setup a test to reproduce your problem). If the
problem still exists for classes Utilisateur and MotdePasse without
using anonymous keys for references from and to these classes the
problem is caused by any other causes.
regards,
Armin
>
> On 1/24/07, Marwane <am...@gmail.com> wrote:
>>
>> you don't have another solution please , beacause i have a lot anonymous
>> field about 150 fields !!!!!
>>
>>
>>
>>
>> On 1/24/07, Armin Waibel <ar...@apache.org> wrote:
>> >
>> >
>> > Marwane wrote:
>> > > if i don't use the anonymous field this will solve the problem ???
>> > >
>> >
>> > yep! I suppose so.
>> >
>> > regards,
>> > Armin
>> >
>> > >
>> > >
>> > >
>> > > On 1/24/07, Marwane <am...@gmail.com> wrote:
>> > >>
>> > >> Hi,
>> > >>
>> > >> We don't modify any in ojb source classes , we use the binary ojb
>> > from
>> > >> apache.
>> > >>
>> > >> here is our mapping related to classes habilitations :
>> > >>
>> > >> <!-- ==============================================================
>> > >> TABLE HAB_CONNEXION
>> > >> =============================================================== -->
>> > >> <class-descriptor class="
>> > >> com.rmawatanya.convergence.utile.habilitations.Connexion "
>> > >> table="HAB_CONNEXION">
>> > >> <field-descriptor id="1" name="id" column="ID" jdbc-type="BIGINT"
>> > >> nullable="false" primarykey="true" autoincrement="true"/>
>> > >> <field-descriptor id="2" name="commentaire" column="COMMENTAIRE"
>> > >> jdbc-type="VARCHAR"/>
>> > >> <field-descriptor id="3" name="dateConnexion"
>> > column="DATECONNEXION"
>> > >> jdbc-type="TIMESTAMP" conversion="
>> > >> ma.co.omnidata.framework.services.dao.ojb.CalendarToTimeStamp"/>
>> > >> <field-descriptor id="4" name="dateDeconnexion"
>> > >> column="DATEDECONNEXION"
>> > >> jdbc-type="TIMESTAMP" conversion="
>> > >> ma.co.omnidata.framework.services.dao.ojb.CalendarToTimeStamp"/>
>> > >> <field-descriptor id="5" name="refUtilisateurIdOjb"
>> > >> column="IDUTILISATEUR" jdbc-type="BIGINT" access="anonymous"/>
>> > >> <reference-descriptor name="refUtilisateur" class-ref="
>> > >> com.rmawatanya.convergence.utile.habilitations.Utilisateur ">
>> > >> <foreignkey field-ref="refUtilisateurIdOjb"/>
>> > >> </reference-descriptor>
>> > >> <field-descriptor id="6" name="statut" column="STATUT"
>> > >> jdbc-type="BIT"/>
>> > >> <field-descriptor id="7" name="sessionId" column="IDSESSION"
>> > >> jdbc-type="VARCHAR"/>
>> > >> </class-descriptor>
>> > >>
>> > >>
>> > >>
>> > >> <!-- ==============================================================
>> > >> TABLE HAB_MOTDEPASSE
>> > >> =============================================================== -->
>> > >> <class-descriptor class="
>> > >> com.rmawatanya.convergence.utile.habilitations.MotdePasse "
>> > >> table="HAB_MOTDEPASSE">
>> > >> <field-descriptor id="1" name="id" column="ID" jdbc-type="BIGINT"
>> > >> nullable="false" primarykey="true" autoincrement="true"/>
>> > >> <field-descriptor id="2" name="courant" column="COURANT"
>> > >> jdbc-type="BIT"/>
>> > >> <field-descriptor id="3" name="dateCreation" column="DATECREATION"
>> > >> jdbc-type="TIMESTAMP" conversion="
>> > >> ma.co.omnidata.framework.services.dao.ojb.CalendarToTimeStamp "/>
>> > >> <field-descriptor id="4" name="realMotdePasse"
>> > column="REALMOTDEPASSE"
>> > >> jdbc-type="VARCHAR"/>
>> > >> <field-descriptor id="5" name="motdePasse" column="MOTDEPASSE"
>> > >> jdbc-type="VARCHAR"/>
>> > >> <field-descriptor id="6" name="refUtilisateurIdOjb"
>> > >> column="IDUTILISATEUR" jdbc-type="BIGINT" access="anonymous" />
>> > >> <reference-descriptor name="refUtilisateur" class-ref="
>> > >> com.rmawatanya.convergence.utile.habilitations.Utilisateur">
>> > >> <foreignkey field-ref="refUtilisateurIdOjb"/>
>> > >> </reference-descriptor>
>> > >> </class-descriptor>
>> > >>
>> > >>
>> > >> <!-- ==============================================================
>> > >> TABLE HAB_PROFIL
>> > >> =============================================================== -->
>> > >> <class-descriptor class="
>> > >> com.rmawatanya.convergence.utile.habilitations.Profil "
>> > >> table="HAB_PROFIL">
>> > >> <field-descriptor id="1" name="id" column="ID" jdbc-type="BIGINT"
>> > >> nullable="false" primarykey="true" autoincrement="true"/>
>> > >> <field-descriptor id="2" name="code" column="CODE"
>> > >> jdbc-type="INTEGER"/>
>> > >> <field-descriptor id="3" name="dateEffet" column="DATEEFFET"
>> > >> jdbc-type="DATE" conversion="
>> > >>
>> >
>> org.apache.ojb.broker.accesslayer.conversions.Calendar2DateFieldConversion
>>
>> > >>
>> > >> "/>
>> > >> <field-descriptor id="4" name="dateFin" column="DATEFIN"
>> > >> jdbc-type="DATE" conversion="
>> > >>
>> >
>> org.apache.ojb.broker.accesslayer.conversions.Calendar2DateFieldConversion
>>
>> > >>
>> > >> "/>
>> > >> <field-descriptor id="5" name="libelleRole" column="LIBELLE"
>> > >> jdbc-type="VARCHAR"/>
>> > >> <field-descriptor id="6" name="profilStandard"
>> > column="PROFILSTANDARD"
>> > >> jdbc-type="BIT"/>
>> > >> <field-descriptor id="7" name="refSocieteIdOjb" column="IDSOCIETE"
>> > >> jdbc-type="BIGINT" access="anonymous"/>
>> > >> <reference-descriptor name="refType" class-ref="
>> > >> com.rmawatanya.convergence.utile.organisation.Societe ">
>> > >> <foreignkey field-ref="refSocieteIdOjb"/>
>> > >> </reference-descriptor>
>> > >> <collection-descriptor name="refUtilisateurs" collection-class="
>> > >> org.apache.ojb.broker.util.collections.ManageableArrayList"
>> > >> element-class-ref="
>> > >> com.rmawatanya.convergence.utile.habilitations.Utilisateur "
>> > >> auto-retrieve="true" auto-update="true">
>> > >> <inverse-foreignkey field-ref="refProfilIdOjb"/>
>> > >> </collection-descriptor>
>> > >> <collection-descriptor name="actions" collection-class="
>> > >> org.apache.ojb.broker.util.collections.ManageableArrayList"
>> > >> element-class-ref="
>> > >> com.rmawatanya.convergence.utile.referentiel.Fonctionnalite"
>> > >> auto-retrieve="true" auto-update="true"
>> > >> indirection-table="HAB_ASSOC_PROFIL_FONCTIONNALITE">
>> > >> <fk-pointing-to-this-class column="IDPROFIL"/>
>> > >> <fk-pointing-to-element-class column="IDFONCTIONNALITE"/>
>> > >> </collection-descriptor>
>> > >> </class-descriptor>
>> > >>
>> > >> <!-- ==============================================================
>> > >> TABLE HAB_UTILISATEUR
>> > >> =============================================================== -->
>> > >> <class-descriptor class="
>> > >> com.rmawatanya.convergence.utile.habilitations.Utilisateur "
>> > >> table="HAB_UTILISATEUR">
>> > >> <field-descriptor id="1" name="id" column="ID" jdbc-type="BIGINT"
>> > >> nullable="false" primarykey="true" autoincrement="true" />
>> > >> <field-descriptor id="2" name="autoriseTouteAgence"
>> > >> column="AUTORISETOUTEAGENCE" jdbc-type="BIT"/>
>> > >> <field-descriptor id="3" name="autoriseToutProduit"
>> > >> column="AUTORISETOUTPRODUIT" jdbc-type="BIT"/>
>> > >> <field-descriptor id="4" name="blocked" column="BLOQUE"
>> > >> jdbc-type="BIT"/>
>> > >> <field-descriptor id="5" name="changementMotdePassealaConnexion"
>> > >> column="CHANGMOTDEPASSEALACONNEXION" jdbc-type="BIT"/>
>> > >> <field-descriptor id="6" name="dateDebutAcces"
>> > column="DATEDEBUTACCES"
>> > >> jdbc-type="DATE" conversion="
>> > >>
>> >
>> org.apache.ojb.broker.accesslayer.conversions.Calendar2DateFieldConversion"/>
>>
>> > >>
>> > >> <field-descriptor id="7" name="dateFinAcces" column="DATEFINACCES"
>> > >> jdbc-type="DATE" conversion="
>> > >>
>> >
>> org.apache.ojb.broker.accesslayer.conversions.Calendar2DateFieldConversion"/>
>>
>> > >>
>> > >> <field-descriptor id="8" name="email" column="EMAIL"
>> > >> jdbc-type="VARCHAR"/>
>> > >> <field-descriptor id="9" name="login" column="LOGIN"
>> > >> jdbc-type="VARCHAR"/>
>> > >> <field-descriptor id="10" name="nom" column="NOM"
>> > jdbc-type="VARCHAR"/>
>> > >> <field-descriptor id="11" name="prenom" column="PRENOM"
>> > >> jdbc-type="VARCHAR"/>
>> > >> <field-descriptor id="12" name="superUtilisateur"
>> > >> column="SUPERUTILISATEUR" jdbc-type="BIT"/>
>> > >> <field-descriptor id="13" name="telephone" column="TELEPHONE"
>> > >> jdbc-type="VARCHAR"/>
>> > >> <field-descriptor id="14" name="refEntiteIdOjb" column="IDENTITE"
>> > >> jdbc-type="BIGINT" access="anonymous"/>
>> > >> <field-descriptor id="15" name="refProfilIdOjb" column="IDPROFIL"
>> > >> jdbc-type="BIGINT" access="anonymous"/>
>> > >> <reference-descriptor name="refEntiteAppartenance" class-ref="
>> > >> com.rmawatanya.convergence.utile.organisation.Entite">
>> > >> <foreignkey field-ref="refEntiteIdOjb"/>
>> > >> </reference-descriptor>
>> > >> <reference-descriptor name="refProfil" class-ref="
>> > >> com.rmawatanya.convergence.utile.habilitations.Profil">
>> > >> <foreignkey field-ref="refProfilIdOjb"/>
>> > >> </reference-descriptor>
>> > >> <collection-descriptor name="refMotsdePasse" collection-class="
>> > >> org.apache.ojb.broker.util.collections.ManageableArrayList"
>> > >> element-class-ref="
>> > >> com.rmawatanya.convergence.utile.habilitations.MotdePasse "
>> > >> auto-retrieve="true" auto-update="true" orderby="id" sort="DESC" >
>> > >> <inverse-foreignkey field-ref="refUtilisateurIdOjb"/>
>> > >> </collection-descriptor>
>> > >> <collection-descriptor name="refConnexions" collection-class="
>> > >> org.apache.ojb.broker.util.collections.ManageableArrayList"
>> > >> element-class-ref="
>> > >> com.rmawatanya.convergence.utile.habilitations.Connexion "
>> > >> auto-retrieve="true" auto-update="true" orderby="id" sort="DESC" >
>> > >> <inverse-foreignkey field-ref="refUtilisateurIdOjb"/>
>> > >> </collection-descriptor>
>> > >> <collection-descriptor name="refProduitsAutorises"
>> > collection-class="
>> > >> org.apache.ojb.broker.util.collections.ManageableArrayList"
>> > >> element-class-ref="
>> > >> com.rmawatanya.convergence.application.prd.metier.modele.Produit "
>> > >> auto-retrieve="true" auto-update="true"
>> > >> indirection-table="HAB_ASSOC_UTILISATEUR_PRODUIT">
>> > >> <fk-pointing-to-this-class column="IDUTILISATEUR"/>
>> > >> <fk-pointing-to-element-class column="IDPRODUIT"/>
>> > >> </collection-descriptor>
>> > >> </class-descriptor>
>> > >>
>> > >>
>> > >> On 1/24/07, Armin Waibel <ar...@apache.org> wrote:
>> > >> >
>> > >> > Hi,
>> > >> >
>> > >> > I tested the implementation of class ReferenceMap - it works as
>> > >> > expected. In class AnonymousPersistentField the persistent object
>> > is
>> > >> > used as map key, the field value (of the anonymous field) as map
>> > value
>> > >> > and the ReferenceMap use weak keys and hard values, thus all
>> > persistent
>> > >> > objects set in class AnonymousPersistentField should be GC (if the
>> > >> > persistent object was no longer referenced) - in theory this
>> should
>> > >> > work, but it seems this doesn't work for you.
>> > >> >
>> > >> > Could you please post the mapping of the involved classes
>> > MotdePasse
>> > >> and
>> > >> > Utilisateur (and of mapped sub/super-classes of these classes if
>> > any
>> > >> > exist).
>> > >> > Do you modify any source classes of OJB related to anonymous
>> fields
>> > or
>> > >> > references?
>> > >> >
>> > >> > regards,
>> > >> > Armin
>> > >> >
>> > >> > Marwane wrote:
>> > >> > > Hi,
>> > >> > > we have a production application on system Windows Server that
>> > >> using :
>> > >> >
>> > >> > > WebSphere 6.0
>> > >> > > OJB version 1.0.3
>> > >> > > the application generate a lot of dump file in the system witch
>> > cause
>> > >> > a
>> > >> > > system crash .. in the log i find this :
>> > >> > > 1,095,332,808 [24] 2
>> > >> > >
>> > org/apache/ojb/broker/metadata/fieldaccess/AnonymousPersistentField
>> > >> > > 0x11841c40
>> > >> > > 1,095,332,784 [72] 2 org/apache/ojb/broker/util/ReferenceMap
>> > >> > 0x1664db30
>> > >> > > 1,095,332,664 [262,160] 23,114 array of
>> > >> > > org/apache/ojb/broker/util/ReferenceMap$Entry 0x71b48528
>> > >> > > 38,548,064 [32] 4
>> > org/apache/ojb/broker/util/ReferenceMap$Entry
>> > >> > > 0x60e5c2f0
>> > >> > > 38,543,104 [32] 3
>> > org/apache/ojb/broker/util/ReferenceMap$Entry
>> > >> > > 0x229d1fd0
>> > >> > > 38,543,048 [32] 2
>> > >> org/apache/ojb/broker/util/ReferenceMap$WeakRef
>> > >> > > 0x229d1ff0
>> > >> > > 38,543,016 [40] 4
>> > >> > > com/convergence/utile/habilitations/MotdePasse 0x229d20b8
>> > >> > > 38,542,032 [120] 14
>> > >> > > com/convergence/utile/habilitations/Utilisateur 0x2056fde0
>> > >> > > 38,146,872 [64] 6
>> > >> > > com/convergence/utile/habilitations/Profil 0x1e806358
>> > >> > > 390,528 [24] 1
>> > >> > > org/apache/ojb/broker/util/collections/ManageableArrayList
>> > 0x29d00308
>> > >> > > 3,032 [24] 1
>> > >> > > org/apache/ojb/broker/util/collections/ManageableArrayList
>> > 0x254d0d38
>> > >> > > 880 [128] 9 java/util/GregorianCalendar 0x205702b0
>> > >> > > 128 [40] 4 com/convergence/utile/organisation/Entite
>> > >> > > 0x21cca310
>> > >> > > 88 [32] 1 java/lang/String 0x2056ffa0
>> > >> > > 80 [24] 1
>> > >> > > org/apache/ojb/broker/util/collections/ManageableArrayList
>> > 0x2b1e6ee8
>> > >> > > 80 [24] 1 java/util/ArrayList 0x2056fdc8
>> > >> > > 64 [32] 1 java/lang/String 0x2056fed8
>> > >> > > 56 [32] 1 java/lang/String 0x2056ff10
>> > >> > > 56 [32] 1 java/lang/String 0x2056ff48
>> > >> > > 48 [32] 1 java/lang/String 0x2056fe98
>> > >> > > 16 [16] 0 java/lang/Boolean 0x101eccb0
>> > >> > > 16 [16] 0 java/lang/Boolean 0x101eccc0
>> > >> > > 880 [128] 9 java/util/GregorianCalendar 0x229d2430
>> > >> > > 64 [32] 1 java/lang/String 0x229d2120
>> > >> > > 16 [16] 0 java/lang/Boolean 0x101eccc0
>> > >> > > 48 [32] 1 java/lang/ref/ReferenceQueue 0x1664db10
>> > >> > > 24 [24] 0 java/lang/Long 0x229d20e8
>> > >> > > 1,095,332,784 [72] 2
>> org/apache/ojb/broker/util/ReferenceMap
>> >
>> > >> > > 0x1664db30
>> > >> > > 4,904 [32] 2 org/apache/ojb/broker/util/ReferenceMap$WeakRef
>> > >> > > 0x60e5c310
>> > >> > > 24 [24] 0 java/lang/Long 0x60e5c360
>> > >> > > 1,095,332,784 [72] 2 org/apache/ojb/broker/util/ReferenceMap
>> > >> > > 0x1664db30
>> > >> > > 38,547,920 [32] 4
>> > org/apache/ojb/broker/util/ReferenceMap$Entry
>> > >> > > 0x659aea38
>> > >> > > 38,543,280 [32] 4
>> > org/apache/ojb/broker/util/ReferenceMap$Entry
>> > >> > > 0x19f95b00
>> > >> > > 38,543,104 [32] 3
>> > org/apache/ojb/broker/util/ReferenceMap$Entry
>> > >> > > 0x65d52218
>> > >> > > 38,543,104 [32] 3
>> > org/apache/ojb/broker/util/ReferenceMap$Entry
>> > >> > > 0x675fd680
>> > >> > > 38,543,104 [32] 3
>> > org/apache/ojb/broker/util/ReferenceMap$Entry
>> > >> > > 0x4a016de8
>> > >> > > 38,543,104 [32] 3
>> > org/apache/ojb/broker/util/ReferenceMap$Entry
>> > >> > > 0x1b3b09c0
>> > >> > > 38,543,104 [32] 3
>> > org/apache/ojb/broker/util/ReferenceMap$Entry
>> > >> > > 0x4384a5e8
>> > >> > > 38,543,104 [32] 3
>> > org/apache/ojb/broker/util/ReferenceMap$Entry
>> > >> > > 0x270b7740
>> > >> > > 38,543,104 [32] 3
>> > org/apache/ojb/broker/util/ReferenceMap$Entry
>> > >> > > 0x1c9d4ed0
>> > >> > > 38,543,104 [32] 3
>> > org/apache/ojb/broker/util/ReferenceMap$Entry
>> > >> > > 0x505d07a0
>> > >> > > 38,543,104 [32] 3
>> > org/apache/ojb/broker/util/ReferenceMap$Entry
>> > >> > > 0x3b8f8f10
>> > >> > > 38,543,104 [32] 3
>> > org/apache/ojb/broker/util/ReferenceMap$Entry
>> > >> > > 0x6916b088
>> > >> > > 38,543,104 [32] 3
>> > org/apache/ojb/broker/util/ReferenceMap$Entry
>> > >> > > 0x3d6fdbd0
>> > >> > > 38,543,104 [32] 3
>> > org/apache/ojb/broker/util/ReferenceMap$Entry
>> > >> > > 0x14a30960
>> > >> > > 38,543,104 [32] 3
>> > org/apache/ojb/broker/util/ReferenceMap$Entry
>> > >> > > 0x5d3cd108
>> > >> > > 38,543,104 [32] 3
>> > org/apache/ojb/broker/util/ReferenceMap$Entry
>> > >> > > 0x13937968
>> > >> > > 38,543,104 [32] 3
>> > org/apache/ojb/broker/util/ReferenceMap$Entry
>> > >> > > 0x1aa7b5f8
>> > >> > > 38,543,104 [32] 3
>> > org/apache/ojb/broker/util/ReferenceMap$Entry
>> > >> > > 0x118db108
>> > >> > > 38,543,104 [32] 3
>> > org/apache/ojb/broker/util/ReferenceMap$Entry
>> > >> > > 0x58115890
>> > >> > > There are 23,094 more children
>> > >> > >
>> > >> > >
>> > >> > > so, some object like
>> > >> 'org/apache/ojb/broker/util/ReferenceMap$Entry',
>> > >> > > 'org/apache/ojb/broker/util/ReferenceMap' ,
>> > >> > >
>> > org/apache/ojb/broker/metadata/fieldaccess/AnonymousPersistentField
>> > >> > > objects are consuming
>> > >> > > more than 1 GB (1,095,332,664 bytes) on heap.
>> > >> > >
>> > >> > >
>> > >> > > I need an explanation of this , please. and solution or test to
>> > do .
>> > >> > >
>> > >> > > thx in advance.
>> > >> > >
>> > >> > >
>> > >> > >
>> > >> > >
>> > >> >
>> > >>
>> >
>> ------------------------------------------------------------------------
>> > >> > >
>> > >> > > <?xml version="1.0" encoding="UTF-8"?>
>> > >> > > <!DOCTYPE descriptor-repository PUBLIC "-//Apache Software
>> > >> > Foundation//DTD OJB Repository//EN"
>> > >> > > "repository.dtd">
>> > >> > > <descriptor-repository version="1.0"
>> > >> > isolation-level="read-uncommitted" proxy-prefetching-limit="50">
>> > >> > > <jdbc-connection-descriptor jcd-alias="default"
>> > >> > default-connection="true" platform="Db2" jdbc-level=" 2.0"
>> driver="
>> > >> > com.p6spy.engine.spy.P6SpyDriver" protocol="jdbc"
>> subprotocol="db2"
>> > >> > dbalias="//localhost/DEV" username="db2admin" password="db2admin">
>> > >> > > <sequence-manager className="
>> > >> > org.apache.ojb.broker.util.sequence.SequenceManagerHighLowImpl">
>> > >> > > <attribute attribute-name="grabSize"
>> > >> > attribute-value="5"/>
>> > >> > > <attribute
>> > attribute-name="globalSequenceId"
>> > >> > attribute-value="true"/>
>> > >> > > <attribute
>> > attribute-name="globalSequenceStart"
>> > >> > attribute-value="10000"/>
>> > >> > > </sequence-manager>
>> > >> > > </jdbc-connection-descriptor>
>> > >> > >
>> > >> > >
>> > >> > > <!-- OJB INTERNAL MAPPINGS START HERE, DO NOT EDIT -->
>> > >> > > <!--
>> > >> > ************************************************************* -->
>> > >> > > <!-- The OJB HIGH/LOW SequenceManagerTable -->
>> > >> > > <!--
>> > >> > ************************************************************* -->
>> > >> > > <class-descriptor class="
>> > >> > org.apache.ojb.broker.util.sequence.HighLowSequence "
>> > >> table="OJB_HL_SEQ">
>> > >> >
>> > >> > > <object-cache class="
>> > >> > org.apache.ojb.broker.cache.ObjectCacheEmptyImpl"/>
>> > >> > > <field-descriptor name="tableName"
>> > column="TABLENAME"
>> > >> > jdbc-type="VARCHAR" primarykey="true"/>
>> > >> > > <field-descriptor name="fieldName"
>> > column="FIELDNAME"
>> > >> > jdbc-type="VARCHAR" primarykey="true"/>
>> > >> > > <field-descriptor name="maxKey" column="MAX_KEY"
>> > >> > jdbc-type="BIGINT"/>
>> > >> > > <field-descriptor name="grabSize"
>> > column="GRAB_SIZE"
>> > >> > jdbc-type="INTEGER"/>
>> > >> > > <field-descriptor name="version" column="VERSION"
>> > >> > jdbc-type="INTEGER" locking="true"/>
>> > >> > > </class-descriptor>
>> > >> > > <!--
>> > >> > ************************************************************* -->
>> > >> > > <!-- THIS IS THE OJB NAMED ROOTS TABLE, DO NOT EDIT-->
>> > >> > > <!--
>> > >> > ************************************************************* -->
>> > >> > > <class-descriptor class="
>> > >> > org.apache.ojb.odmg.NamedRootsMap$NamedEntry " table="OJB_NRM">
>> > >> > > <field-descriptor name="name" column="NAME"
>> > >> > jdbc-type="VARCHAR" primarykey="true"/>
>> > >> > > <field-descriptor name="oid" column="OID_"
>> > >> > jdbc-type="LONGVARBINARY"/>
>> > >> > > </class-descriptor>
>> > >> > > <!--
>> > >> > ************************************************************* -->
>> > >> > > <!-- THIS IS THE OJB DLIST IMPLEMENTATION, DO NOT EDIT-->
>> > >> > > <!-- alternative implementation of DList -->
>> > >> > > <!--
>> > >> > ************************************************************* -->
>> > >> > > <class-descriptor class="
>> > >> > org.apache.ojb.odmg.collections.DListImpl " table="OJB_DLIST">
>> > >> > > <field-descriptor name="id" column="ID"
>> > >> > jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
>> > >> > > <collection-descriptor name="elements"
>> > >> > element-class-ref="org.apache.ojb.odmg.collections.DListEntry"
>> > >> > auto-retrieve="true" auto-update="none" auto-delete="none">
>> > >> > > <inverse-foreignkey field-ref="dlistId"/>
>> > >> > > </collection-descriptor>
>> > >> > > </class-descriptor>
>> > >> > > <!--
>> > >> > ************************************************************* -->
>> > >> > > <!-- THIS IS THE OJB DLIST ENTRY IMPLEMENTATION, DO NOT
>> > EDIT-->
>> > >> > > <!--
>> > >> > ************************************************************* -->
>> > >> > > <class-descriptor class="
>> > >> > org.apache.ojb.odmg.collections.DListEntry "
>> > table="OJB_DLIST_ENTRIES">
>> > >> > > <field-descriptor name="id" column="ID"
>> > >> > jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
>> > >> > > <field-descriptor name="dlistId" column="DLIST_ID"
>> > >> > jdbc-type="INTEGER"/>
>> > >> > > <field-descriptor name="position"
>> > column="POSITION_"
>> > >> > jdbc-type="INTEGER"/>
>> > >> > > <field-descriptor name="oid" column="OID_"
>> > >> > jdbc-type="LONGVARBINARY" conversion="
>> > >> >
>> > >>
>> >
>> org.apache.ojb.broker.accesslayer.conversions.Object2ByteArrFieldConversion
>>
>> > "/>
>> > >>
>> > >> >
>> > >> > > </class-descriptor>
>> > >> > > <!--
>> > >> > ************************************************************* -->
>> > >> > > <!-- THIS IS THE OJB DBAG IMPLEMENTATION, DO NOT EDIT-->
>> > >> > > <!--
>> > >> > ************************************************************* -->
>> > >> > > <class-descriptor class="
>> > >> > org.apache.ojb.odmg.collections.DBagImpl" table="OJB_DLIST">
>> > >> > > <field-descriptor name="id" column="ID"
>> > >> > jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
>> > >> > > <collection-descriptor name="elements"
>> > >> > element-class-ref=" org.apache.ojb.odmg.collections.DListEntry"
>> > >> > auto-retrieve="true" auto-update="none" auto-delete="none">
>> > >> > > <inverse-foreignkey field-ref="dlistId"/>
>> > >> > > </collection-descriptor>
>> > >> > > </class-descriptor>
>> > >> > > <!--
>> > >> > ************************************************************* -->
>> > >> > > <!-- THIS IS THE OJB DSET IMPLEMENTATION, DO NOT EDIT-->
>> > >> > > <!--
>> > >> > ************************************************************* -->
>> > >> > > <class-descriptor class="
>> > >> > org.apache.ojb.odmg.collections.DSetImpl " table="OJB_DSET">
>> > >> > > <field-descriptor name="id" column="ID"
>> > >> > jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
>> > >> > > <collection-descriptor name="elements"
>> > >> > element-class-ref=" org.apache.ojb.odmg.collections.DSetEntry"
>> > >> > auto-retrieve="true" auto-update="none" auto-delete="none">
>> > >> > > <inverse-foreignkey field-ref="dlistId"/>
>> > >> > > </collection-descriptor>
>> > >> > > </class-descriptor>
>> > >> > > <!--
>> > >> > ************************************************************* -->
>> > >> > > <!-- THIS IS THE OJB DSET ENTRY IMPLEMENTATION, DO NOT
>> > EDIT-->
>> > >> > > <!--
>> > >> > ************************************************************* -->
>> > >> > > <class-descriptor class="
>> > >> > org.apache.ojb.odmg.collections.DSetEntry "
>> > table="OJB_DSET_ENTRIES">
>> > >> > > <field-descriptor name="id" column="ID"
>> > >> > jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
>> > >> > > <field-descriptor name="dlistId" column="DLIST_ID"
>> > >> > jdbc-type="INTEGER"/>
>> > >> > > <field-descriptor name="position"
>> > column="POSITION_"
>> > >> > jdbc-type="INTEGER"/>
>> > >> > > <field-descriptor name="oid" column="OID_"
>> > >> > jdbc-type="LONGVARBINARY" conversion="
>> > >> >
>> > >>
>> >
>> org.apache.ojb.broker.accesslayer.conversions.Object2ByteArrFieldConversion
>>
>> > >>
>> > >> > "/>
>> > >> > > </class-descriptor>
>> > >> > > <!--
>> > >> > ************************************************************* -->
>> > >> > > <!-- THIS IS THE OJB DMAP IMPLEMENTATION, DO NOT EDIT-->
>> > >> > > <!--
>> > >> > ************************************************************* -->
>> > >> > > <class-descriptor class="
>> > >> > org.apache.ojb.odmg.collections.DMapImpl " table="OJB_DMAP">
>> > >> > > <field-descriptor name="id" column="ID"
>> > >> > jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
>> > >> > > <collection-descriptor name="entries"
>> > >> > element-class-ref=" org.apache.ojb.odmg.collections.DMapEntry"
>> > >> > collection-class="
>> > >> > org.apache.ojb.broker.util.collections.ManageableHashSet"
>> > >> > auto-retrieve="true" auto-update="none" auto-delete="none">
>> > >> > > <inverse-foreignkey field-ref="dmapId"/>
>> > >> > > </collection-descriptor>
>> > >> > > </class-descriptor>
>> > >> > > <!--
>> > >> > ************************************************************* -->
>> > >> > > <!-- THIS IS THE OJB DMAP ENTRY IMPLEMENTATION, DO NOT
>> > EDIT-->
>> > >> > > <!--
>> > >> > ************************************************************* -->
>> > >> > > <class-descriptor class="
>> > >> > org.apache.ojb.odmg.collections.DMapEntry "
>> > table="OJB_DMAP_ENTRIES">
>> > >> > > <field-descriptor name="id" column="ID"
>> > >> > jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
>> > >> > > <field-descriptor name="dmapId" column="DMAP_ID"
>> > >> > jdbc-type="INTEGER"/>
>> > >> > > <field-descriptor name="keyOid" column="KEY_OID"
>> > >> > jdbc-type="LONGVARBINARY" conversion="
>> > >> >
>> > >>
>> >
>> org.apache.ojb.broker.accesslayer.conversions.Object2ByteArrFieldConversion
>>
>> > >>
>> > >> > "/>
>> > >> > > <field-descriptor name="valueOid"
>> > column="VALUE_OID"
>> > >> > jdbc-type="LONGVARBINARY" conversion="
>> > >> >
>> > >>
>> >
>> org.apache.ojb.broker.accesslayer.conversions.Object2ByteArrFieldConversion
>>
>> > >>
>> > >> > "/>
>> > >> > > </class-descriptor>
>> > >> > > <!-- END OF OJB INTERNAL MAPPINGS-->
>> > >> > > </descriptor-repository>
>> > >> > >
>> > >> > >
>> > >> > >
>> > >> >
>> > >>
>> >
>> ------------------------------------------------------------------------
>> > >> > >
>> > >> > >
>> > ---------------------------------------------------------------------
>> > >> > > To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
>> > >> > > For additional commands, e-mail: ojb-user-help@db.apache.org
>> > >> >
>> > >> >
>> > ---------------------------------------------------------------------
>> > >> > To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
>> > >> > For additional commands, e-mail: ojb-user-help@db.apache.org
>> > >> >
>> > >> >
>> > >>
>> > >
>> >
>> > ---------------------------------------------------------------------
>> > To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
>> > For additional commands, e-mail: ojb-user-help@db.apache.org
>> >
>> >
>>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org
Re: Crash system - DUMP File generated with OJB
Posted by Marwane <am...@gmail.com>.
Hi,
1. can you explain me the purpose of the classe ReferenceMap$Entry ??
2. the Class Utilisateur is the User , i make it in http session so is
alawayse live and the GC dont kill it and the Class User has some field
anonymous. so this tell you somthing ....???
On 1/24/07, Marwane <am...@gmail.com> wrote:
>
> you don't have another solution please , beacause i have a lot anonymous
> field about 150 fields !!!!!
>
>
>
>
> On 1/24/07, Armin Waibel <ar...@apache.org> wrote:
> >
> >
> > Marwane wrote:
> > > if i don't use the anonymous field this will solve the problem ???
> > >
> >
> > yep! I suppose so.
> >
> > regards,
> > Armin
> >
> > >
> > >
> > >
> > > On 1/24/07, Marwane <am...@gmail.com> wrote:
> > >>
> > >> Hi,
> > >>
> > >> We don't modify any in ojb source classes , we use the binary ojb
> > from
> > >> apache.
> > >>
> > >> here is our mapping related to classes habilitations :
> > >>
> > >> <!-- ==============================================================
> > >> TABLE HAB_CONNEXION
> > >> =============================================================== -->
> > >> <class-descriptor class="
> > >> com.rmawatanya.convergence.utile.habilitations.Connexion "
> > >> table="HAB_CONNEXION">
> > >> <field-descriptor id="1" name="id" column="ID" jdbc-type="BIGINT"
> > >> nullable="false" primarykey="true" autoincrement="true"/>
> > >> <field-descriptor id="2" name="commentaire" column="COMMENTAIRE"
> > >> jdbc-type="VARCHAR"/>
> > >> <field-descriptor id="3" name="dateConnexion"
> > column="DATECONNEXION"
> > >> jdbc-type="TIMESTAMP" conversion="
> > >> ma.co.omnidata.framework.services.dao.ojb.CalendarToTimeStamp"/>
> > >> <field-descriptor id="4" name="dateDeconnexion"
> > >> column="DATEDECONNEXION"
> > >> jdbc-type="TIMESTAMP" conversion="
> > >> ma.co.omnidata.framework.services.dao.ojb.CalendarToTimeStamp"/>
> > >> <field-descriptor id="5" name="refUtilisateurIdOjb"
> > >> column="IDUTILISATEUR" jdbc-type="BIGINT" access="anonymous"/>
> > >> <reference-descriptor name="refUtilisateur" class-ref="
> > >> com.rmawatanya.convergence.utile.habilitations.Utilisateur ">
> > >> <foreignkey field-ref="refUtilisateurIdOjb"/>
> > >> </reference-descriptor>
> > >> <field-descriptor id="6" name="statut" column="STATUT"
> > >> jdbc-type="BIT"/>
> > >> <field-descriptor id="7" name="sessionId" column="IDSESSION"
> > >> jdbc-type="VARCHAR"/>
> > >> </class-descriptor>
> > >>
> > >>
> > >>
> > >> <!-- ==============================================================
> > >> TABLE HAB_MOTDEPASSE
> > >> =============================================================== -->
> > >> <class-descriptor class="
> > >> com.rmawatanya.convergence.utile.habilitations.MotdePasse "
> > >> table="HAB_MOTDEPASSE">
> > >> <field-descriptor id="1" name="id" column="ID" jdbc-type="BIGINT"
> > >> nullable="false" primarykey="true" autoincrement="true"/>
> > >> <field-descriptor id="2" name="courant" column="COURANT"
> > >> jdbc-type="BIT"/>
> > >> <field-descriptor id="3" name="dateCreation" column="DATECREATION"
> > >> jdbc-type="TIMESTAMP" conversion="
> > >> ma.co.omnidata.framework.services.dao.ojb.CalendarToTimeStamp "/>
> > >> <field-descriptor id="4" name="realMotdePasse"
> > column="REALMOTDEPASSE"
> > >> jdbc-type="VARCHAR"/>
> > >> <field-descriptor id="5" name="motdePasse" column="MOTDEPASSE"
> > >> jdbc-type="VARCHAR"/>
> > >> <field-descriptor id="6" name="refUtilisateurIdOjb"
> > >> column="IDUTILISATEUR" jdbc-type="BIGINT" access="anonymous" />
> > >> <reference-descriptor name="refUtilisateur" class-ref="
> > >> com.rmawatanya.convergence.utile.habilitations.Utilisateur">
> > >> <foreignkey field-ref="refUtilisateurIdOjb"/>
> > >> </reference-descriptor>
> > >> </class-descriptor>
> > >>
> > >>
> > >> <!-- ==============================================================
> > >> TABLE HAB_PROFIL
> > >> =============================================================== -->
> > >> <class-descriptor class="
> > >> com.rmawatanya.convergence.utile.habilitations.Profil "
> > >> table="HAB_PROFIL">
> > >> <field-descriptor id="1" name="id" column="ID" jdbc-type="BIGINT"
> > >> nullable="false" primarykey="true" autoincrement="true"/>
> > >> <field-descriptor id="2" name="code" column="CODE"
> > >> jdbc-type="INTEGER"/>
> > >> <field-descriptor id="3" name="dateEffet" column="DATEEFFET"
> > >> jdbc-type="DATE" conversion="
> > >>
> > org.apache.ojb.broker.accesslayer.conversions.Calendar2DateFieldConversion
> > >>
> > >> "/>
> > >> <field-descriptor id="4" name="dateFin" column="DATEFIN"
> > >> jdbc-type="DATE" conversion="
> > >>
> > org.apache.ojb.broker.accesslayer.conversions.Calendar2DateFieldConversion
> > >>
> > >> "/>
> > >> <field-descriptor id="5" name="libelleRole" column="LIBELLE"
> > >> jdbc-type="VARCHAR"/>
> > >> <field-descriptor id="6" name="profilStandard"
> > column="PROFILSTANDARD"
> > >> jdbc-type="BIT"/>
> > >> <field-descriptor id="7" name="refSocieteIdOjb" column="IDSOCIETE"
> > >> jdbc-type="BIGINT" access="anonymous"/>
> > >> <reference-descriptor name="refType" class-ref="
> > >> com.rmawatanya.convergence.utile.organisation.Societe ">
> > >> <foreignkey field-ref="refSocieteIdOjb"/>
> > >> </reference-descriptor>
> > >> <collection-descriptor name="refUtilisateurs" collection-class="
> > >> org.apache.ojb.broker.util.collections.ManageableArrayList"
> > >> element-class-ref="
> > >> com.rmawatanya.convergence.utile.habilitations.Utilisateur "
> > >> auto-retrieve="true" auto-update="true">
> > >> <inverse-foreignkey field-ref="refProfilIdOjb"/>
> > >> </collection-descriptor>
> > >> <collection-descriptor name="actions" collection-class="
> > >> org.apache.ojb.broker.util.collections.ManageableArrayList"
> > >> element-class-ref="
> > >> com.rmawatanya.convergence.utile.referentiel.Fonctionnalite"
> > >> auto-retrieve="true" auto-update="true"
> > >> indirection-table="HAB_ASSOC_PROFIL_FONCTIONNALITE">
> > >> <fk-pointing-to-this-class column="IDPROFIL"/>
> > >> <fk-pointing-to-element-class column="IDFONCTIONNALITE"/>
> > >> </collection-descriptor>
> > >> </class-descriptor>
> > >>
> > >> <!-- ==============================================================
> > >> TABLE HAB_UTILISATEUR
> > >> =============================================================== -->
> > >> <class-descriptor class="
> > >> com.rmawatanya.convergence.utile.habilitations.Utilisateur "
> > >> table="HAB_UTILISATEUR">
> > >> <field-descriptor id="1" name="id" column="ID" jdbc-type="BIGINT"
> > >> nullable="false" primarykey="true" autoincrement="true" />
> > >> <field-descriptor id="2" name="autoriseTouteAgence"
> > >> column="AUTORISETOUTEAGENCE" jdbc-type="BIT"/>
> > >> <field-descriptor id="3" name="autoriseToutProduit"
> > >> column="AUTORISETOUTPRODUIT" jdbc-type="BIT"/>
> > >> <field-descriptor id="4" name="blocked" column="BLOQUE"
> > >> jdbc-type="BIT"/>
> > >> <field-descriptor id="5" name="changementMotdePassealaConnexion"
> > >> column="CHANGMOTDEPASSEALACONNEXION" jdbc-type="BIT"/>
> > >> <field-descriptor id="6" name="dateDebutAcces"
> > column="DATEDEBUTACCES"
> > >> jdbc-type="DATE" conversion="
> > >>
> > org.apache.ojb.broker.accesslayer.conversions.Calendar2DateFieldConversion"/>
> > >>
> > >> <field-descriptor id="7" name="dateFinAcces" column="DATEFINACCES"
> > >> jdbc-type="DATE" conversion="
> > >>
> > org.apache.ojb.broker.accesslayer.conversions.Calendar2DateFieldConversion"/>
> > >>
> > >> <field-descriptor id="8" name="email" column="EMAIL"
> > >> jdbc-type="VARCHAR"/>
> > >> <field-descriptor id="9" name="login" column="LOGIN"
> > >> jdbc-type="VARCHAR"/>
> > >> <field-descriptor id="10" name="nom" column="NOM"
> > jdbc-type="VARCHAR"/>
> > >> <field-descriptor id="11" name="prenom" column="PRENOM"
> > >> jdbc-type="VARCHAR"/>
> > >> <field-descriptor id="12" name="superUtilisateur"
> > >> column="SUPERUTILISATEUR" jdbc-type="BIT"/>
> > >> <field-descriptor id="13" name="telephone" column="TELEPHONE"
> > >> jdbc-type="VARCHAR"/>
> > >> <field-descriptor id="14" name="refEntiteIdOjb" column="IDENTITE"
> > >> jdbc-type="BIGINT" access="anonymous"/>
> > >> <field-descriptor id="15" name="refProfilIdOjb" column="IDPROFIL"
> > >> jdbc-type="BIGINT" access="anonymous"/>
> > >> <reference-descriptor name="refEntiteAppartenance" class-ref="
> > >> com.rmawatanya.convergence.utile.organisation.Entite">
> > >> <foreignkey field-ref="refEntiteIdOjb"/>
> > >> </reference-descriptor>
> > >> <reference-descriptor name="refProfil" class-ref="
> > >> com.rmawatanya.convergence.utile.habilitations.Profil">
> > >> <foreignkey field-ref="refProfilIdOjb"/>
> > >> </reference-descriptor>
> > >> <collection-descriptor name="refMotsdePasse" collection-class="
> > >> org.apache.ojb.broker.util.collections.ManageableArrayList"
> > >> element-class-ref="
> > >> com.rmawatanya.convergence.utile.habilitations.MotdePasse "
> > >> auto-retrieve="true" auto-update="true" orderby="id" sort="DESC" >
> > >> <inverse-foreignkey field-ref="refUtilisateurIdOjb"/>
> > >> </collection-descriptor>
> > >> <collection-descriptor name="refConnexions" collection-class="
> > >> org.apache.ojb.broker.util.collections.ManageableArrayList"
> > >> element-class-ref="
> > >> com.rmawatanya.convergence.utile.habilitations.Connexion "
> > >> auto-retrieve="true" auto-update="true" orderby="id" sort="DESC" >
> > >> <inverse-foreignkey field-ref="refUtilisateurIdOjb"/>
> > >> </collection-descriptor>
> > >> <collection-descriptor name="refProduitsAutorises"
> > collection-class="
> > >> org.apache.ojb.broker.util.collections.ManageableArrayList"
> > >> element-class-ref="
> > >> com.rmawatanya.convergence.application.prd.metier.modele.Produit "
> > >> auto-retrieve="true" auto-update="true"
> > >> indirection-table="HAB_ASSOC_UTILISATEUR_PRODUIT">
> > >> <fk-pointing-to-this-class column="IDUTILISATEUR"/>
> > >> <fk-pointing-to-element-class column="IDPRODUIT"/>
> > >> </collection-descriptor>
> > >> </class-descriptor>
> > >>
> > >>
> > >> On 1/24/07, Armin Waibel <ar...@apache.org> wrote:
> > >> >
> > >> > Hi,
> > >> >
> > >> > I tested the implementation of class ReferenceMap - it works as
> > >> > expected. In class AnonymousPersistentField the persistent object
> > is
> > >> > used as map key, the field value (of the anonymous field) as map
> > value
> > >> > and the ReferenceMap use weak keys and hard values, thus all
> > persistent
> > >> > objects set in class AnonymousPersistentField should be GC (if the
> > >> > persistent object was no longer referenced) - in theory this should
> > >> > work, but it seems this doesn't work for you.
> > >> >
> > >> > Could you please post the mapping of the involved classes
> > MotdePasse
> > >> and
> > >> > Utilisateur (and of mapped sub/super-classes of these classes if
> > any
> > >> > exist).
> > >> > Do you modify any source classes of OJB related to anonymous fields
> > or
> > >> > references?
> > >> >
> > >> > regards,
> > >> > Armin
> > >> >
> > >> > Marwane wrote:
> > >> > > Hi,
> > >> > > we have a production application on system Windows Server that
> > >> using :
> > >> >
> > >> > > WebSphere 6.0
> > >> > > OJB version 1.0.3
> > >> > > the application generate a lot of dump file in the system witch
> > cause
> > >> > a
> > >> > > system crash .. in the log i find this :
> > >> > > 1,095,332,808 [24] 2
> > >> > >
> > org/apache/ojb/broker/metadata/fieldaccess/AnonymousPersistentField
> > >> > > 0x11841c40
> > >> > > 1,095,332,784 [72] 2 org/apache/ojb/broker/util/ReferenceMap
> > >> > 0x1664db30
> > >> > > 1,095,332,664 [262,160] 23,114 array of
> > >> > > org/apache/ojb/broker/util/ReferenceMap$Entry 0x71b48528
> > >> > > 38,548,064 [32] 4
> > org/apache/ojb/broker/util/ReferenceMap$Entry
> > >> > > 0x60e5c2f0
> > >> > > 38,543,104 [32] 3
> > org/apache/ojb/broker/util/ReferenceMap$Entry
> > >> > > 0x229d1fd0
> > >> > > 38,543,048 [32] 2
> > >> org/apache/ojb/broker/util/ReferenceMap$WeakRef
> > >> > > 0x229d1ff0
> > >> > > 38,543,016 [40] 4
> > >> > > com/convergence/utile/habilitations/MotdePasse 0x229d20b8
> > >> > > 38,542,032 [120] 14
> > >> > > com/convergence/utile/habilitations/Utilisateur 0x2056fde0
> > >> > > 38,146,872 [64] 6
> > >> > > com/convergence/utile/habilitations/Profil 0x1e806358
> > >> > > 390,528 [24] 1
> > >> > > org/apache/ojb/broker/util/collections/ManageableArrayList
> > 0x29d00308
> > >> > > 3,032 [24] 1
> > >> > > org/apache/ojb/broker/util/collections/ManageableArrayList
> > 0x254d0d38
> > >> > > 880 [128] 9 java/util/GregorianCalendar 0x205702b0
> > >> > > 128 [40] 4 com/convergence/utile/organisation/Entite
> > >> > > 0x21cca310
> > >> > > 88 [32] 1 java/lang/String 0x2056ffa0
> > >> > > 80 [24] 1
> > >> > > org/apache/ojb/broker/util/collections/ManageableArrayList
> > 0x2b1e6ee8
> > >> > > 80 [24] 1 java/util/ArrayList 0x2056fdc8
> > >> > > 64 [32] 1 java/lang/String 0x2056fed8
> > >> > > 56 [32] 1 java/lang/String 0x2056ff10
> > >> > > 56 [32] 1 java/lang/String 0x2056ff48
> > >> > > 48 [32] 1 java/lang/String 0x2056fe98
> > >> > > 16 [16] 0 java/lang/Boolean 0x101eccb0
> > >> > > 16 [16] 0 java/lang/Boolean 0x101eccc0
> > >> > > 880 [128] 9 java/util/GregorianCalendar 0x229d2430
> > >> > > 64 [32] 1 java/lang/String 0x229d2120
> > >> > > 16 [16] 0 java/lang/Boolean 0x101eccc0
> > >> > > 48 [32] 1 java/lang/ref/ReferenceQueue 0x1664db10
> > >> > > 24 [24] 0 java/lang/Long 0x229d20e8
> > >> > > 1,095,332,784 [72] 2 org/apache/ojb/broker/util/ReferenceMap
> >
> > >> > > 0x1664db30
> > >> > > 4,904 [32] 2 org/apache/ojb/broker/util/ReferenceMap$WeakRef
> > >> > > 0x60e5c310
> > >> > > 24 [24] 0 java/lang/Long 0x60e5c360
> > >> > > 1,095,332,784 [72] 2 org/apache/ojb/broker/util/ReferenceMap
> > >> > > 0x1664db30
> > >> > > 38,547,920 [32] 4
> > org/apache/ojb/broker/util/ReferenceMap$Entry
> > >> > > 0x659aea38
> > >> > > 38,543,280 [32] 4
> > org/apache/ojb/broker/util/ReferenceMap$Entry
> > >> > > 0x19f95b00
> > >> > > 38,543,104 [32] 3
> > org/apache/ojb/broker/util/ReferenceMap$Entry
> > >> > > 0x65d52218
> > >> > > 38,543,104 [32] 3
> > org/apache/ojb/broker/util/ReferenceMap$Entry
> > >> > > 0x675fd680
> > >> > > 38,543,104 [32] 3
> > org/apache/ojb/broker/util/ReferenceMap$Entry
> > >> > > 0x4a016de8
> > >> > > 38,543,104 [32] 3
> > org/apache/ojb/broker/util/ReferenceMap$Entry
> > >> > > 0x1b3b09c0
> > >> > > 38,543,104 [32] 3
> > org/apache/ojb/broker/util/ReferenceMap$Entry
> > >> > > 0x4384a5e8
> > >> > > 38,543,104 [32] 3
> > org/apache/ojb/broker/util/ReferenceMap$Entry
> > >> > > 0x270b7740
> > >> > > 38,543,104 [32] 3
> > org/apache/ojb/broker/util/ReferenceMap$Entry
> > >> > > 0x1c9d4ed0
> > >> > > 38,543,104 [32] 3
> > org/apache/ojb/broker/util/ReferenceMap$Entry
> > >> > > 0x505d07a0
> > >> > > 38,543,104 [32] 3
> > org/apache/ojb/broker/util/ReferenceMap$Entry
> > >> > > 0x3b8f8f10
> > >> > > 38,543,104 [32] 3
> > org/apache/ojb/broker/util/ReferenceMap$Entry
> > >> > > 0x6916b088
> > >> > > 38,543,104 [32] 3
> > org/apache/ojb/broker/util/ReferenceMap$Entry
> > >> > > 0x3d6fdbd0
> > >> > > 38,543,104 [32] 3
> > org/apache/ojb/broker/util/ReferenceMap$Entry
> > >> > > 0x14a30960
> > >> > > 38,543,104 [32] 3
> > org/apache/ojb/broker/util/ReferenceMap$Entry
> > >> > > 0x5d3cd108
> > >> > > 38,543,104 [32] 3
> > org/apache/ojb/broker/util/ReferenceMap$Entry
> > >> > > 0x13937968
> > >> > > 38,543,104 [32] 3
> > org/apache/ojb/broker/util/ReferenceMap$Entry
> > >> > > 0x1aa7b5f8
> > >> > > 38,543,104 [32] 3
> > org/apache/ojb/broker/util/ReferenceMap$Entry
> > >> > > 0x118db108
> > >> > > 38,543,104 [32] 3
> > org/apache/ojb/broker/util/ReferenceMap$Entry
> > >> > > 0x58115890
> > >> > > There are 23,094 more children
> > >> > >
> > >> > >
> > >> > > so, some object like
> > >> 'org/apache/ojb/broker/util/ReferenceMap$Entry',
> > >> > > 'org/apache/ojb/broker/util/ReferenceMap' ,
> > >> > >
> > org/apache/ojb/broker/metadata/fieldaccess/AnonymousPersistentField
> > >> > > objects are consuming
> > >> > > more than 1 GB (1,095,332,664 bytes) on heap.
> > >> > >
> > >> > >
> > >> > > I need an explanation of this , please. and solution or test to
> > do .
> > >> > >
> > >> > > thx in advance.
> > >> > >
> > >> > >
> > >> > >
> > >> > >
> > >> >
> > >>
> > ------------------------------------------------------------------------
> > >> > >
> > >> > > <?xml version="1.0" encoding="UTF-8"?>
> > >> > > <!DOCTYPE descriptor-repository PUBLIC "-//Apache Software
> > >> > Foundation//DTD OJB Repository//EN"
> > >> > > "repository.dtd">
> > >> > > <descriptor-repository version="1.0"
> > >> > isolation-level="read-uncommitted" proxy-prefetching-limit="50">
> > >> > > <jdbc-connection-descriptor jcd-alias="default"
> > >> > default-connection="true" platform="Db2" jdbc-level=" 2.0" driver="
> > >> > com.p6spy.engine.spy.P6SpyDriver" protocol="jdbc" subprotocol="db2"
> > >> > dbalias="//localhost/DEV" username="db2admin" password="db2admin">
> > >> > > <sequence-manager className="
> > >> > org.apache.ojb.broker.util.sequence.SequenceManagerHighLowImpl">
> > >> > > <attribute attribute-name="grabSize"
> > >> > attribute-value="5"/>
> > >> > > <attribute
> > attribute-name="globalSequenceId"
> > >> > attribute-value="true"/>
> > >> > > <attribute
> > attribute-name="globalSequenceStart"
> > >> > attribute-value="10000"/>
> > >> > > </sequence-manager>
> > >> > > </jdbc-connection-descriptor>
> > >> > >
> > >> > >
> > >> > > <!-- OJB INTERNAL MAPPINGS START HERE, DO NOT EDIT -->
> > >> > > <!--
> > >> > ************************************************************* -->
> > >> > > <!-- The OJB HIGH/LOW SequenceManagerTable -->
> > >> > > <!--
> > >> > ************************************************************* -->
> > >> > > <class-descriptor class="
> > >> > org.apache.ojb.broker.util.sequence.HighLowSequence "
> > >> table="OJB_HL_SEQ">
> > >> >
> > >> > > <object-cache class="
> > >> > org.apache.ojb.broker.cache.ObjectCacheEmptyImpl"/>
> > >> > > <field-descriptor name="tableName"
> > column="TABLENAME"
> > >> > jdbc-type="VARCHAR" primarykey="true"/>
> > >> > > <field-descriptor name="fieldName"
> > column="FIELDNAME"
> > >> > jdbc-type="VARCHAR" primarykey="true"/>
> > >> > > <field-descriptor name="maxKey" column="MAX_KEY"
> > >> > jdbc-type="BIGINT"/>
> > >> > > <field-descriptor name="grabSize"
> > column="GRAB_SIZE"
> > >> > jdbc-type="INTEGER"/>
> > >> > > <field-descriptor name="version" column="VERSION"
> > >> > jdbc-type="INTEGER" locking="true"/>
> > >> > > </class-descriptor>
> > >> > > <!--
> > >> > ************************************************************* -->
> > >> > > <!-- THIS IS THE OJB NAMED ROOTS TABLE, DO NOT EDIT-->
> > >> > > <!--
> > >> > ************************************************************* -->
> > >> > > <class-descriptor class="
> > >> > org.apache.ojb.odmg.NamedRootsMap$NamedEntry " table="OJB_NRM">
> > >> > > <field-descriptor name="name" column="NAME"
> > >> > jdbc-type="VARCHAR" primarykey="true"/>
> > >> > > <field-descriptor name="oid" column="OID_"
> > >> > jdbc-type="LONGVARBINARY"/>
> > >> > > </class-descriptor>
> > >> > > <!--
> > >> > ************************************************************* -->
> > >> > > <!-- THIS IS THE OJB DLIST IMPLEMENTATION, DO NOT EDIT-->
> > >> > > <!-- alternative implementation of DList -->
> > >> > > <!--
> > >> > ************************************************************* -->
> > >> > > <class-descriptor class="
> > >> > org.apache.ojb.odmg.collections.DListImpl " table="OJB_DLIST">
> > >> > > <field-descriptor name="id" column="ID"
> > >> > jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
> > >> > > <collection-descriptor name="elements"
> > >> > element-class-ref="org.apache.ojb.odmg.collections.DListEntry"
> > >> > auto-retrieve="true" auto-update="none" auto-delete="none">
> > >> > > <inverse-foreignkey field-ref="dlistId"/>
> > >> > > </collection-descriptor>
> > >> > > </class-descriptor>
> > >> > > <!--
> > >> > ************************************************************* -->
> > >> > > <!-- THIS IS THE OJB DLIST ENTRY IMPLEMENTATION, DO NOT
> > EDIT-->
> > >> > > <!--
> > >> > ************************************************************* -->
> > >> > > <class-descriptor class="
> > >> > org.apache.ojb.odmg.collections.DListEntry "
> > table="OJB_DLIST_ENTRIES">
> > >> > > <field-descriptor name="id" column="ID"
> > >> > jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
> > >> > > <field-descriptor name="dlistId" column="DLIST_ID"
> > >> > jdbc-type="INTEGER"/>
> > >> > > <field-descriptor name="position"
> > column="POSITION_"
> > >> > jdbc-type="INTEGER"/>
> > >> > > <field-descriptor name="oid" column="OID_"
> > >> > jdbc-type="LONGVARBINARY" conversion="
> > >> >
> > >>
> > org.apache.ojb.broker.accesslayer.conversions.Object2ByteArrFieldConversion
> > "/>
> > >>
> > >> >
> > >> > > </class-descriptor>
> > >> > > <!--
> > >> > ************************************************************* -->
> > >> > > <!-- THIS IS THE OJB DBAG IMPLEMENTATION, DO NOT EDIT-->
> > >> > > <!--
> > >> > ************************************************************* -->
> > >> > > <class-descriptor class="
> > >> > org.apache.ojb.odmg.collections.DBagImpl" table="OJB_DLIST">
> > >> > > <field-descriptor name="id" column="ID"
> > >> > jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
> > >> > > <collection-descriptor name="elements"
> > >> > element-class-ref=" org.apache.ojb.odmg.collections.DListEntry"
> > >> > auto-retrieve="true" auto-update="none" auto-delete="none">
> > >> > > <inverse-foreignkey field-ref="dlistId"/>
> > >> > > </collection-descriptor>
> > >> > > </class-descriptor>
> > >> > > <!--
> > >> > ************************************************************* -->
> > >> > > <!-- THIS IS THE OJB DSET IMPLEMENTATION, DO NOT EDIT-->
> > >> > > <!--
> > >> > ************************************************************* -->
> > >> > > <class-descriptor class="
> > >> > org.apache.ojb.odmg.collections.DSetImpl " table="OJB_DSET">
> > >> > > <field-descriptor name="id" column="ID"
> > >> > jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
> > >> > > <collection-descriptor name="elements"
> > >> > element-class-ref=" org.apache.ojb.odmg.collections.DSetEntry"
> > >> > auto-retrieve="true" auto-update="none" auto-delete="none">
> > >> > > <inverse-foreignkey field-ref="dlistId"/>
> > >> > > </collection-descriptor>
> > >> > > </class-descriptor>
> > >> > > <!--
> > >> > ************************************************************* -->
> > >> > > <!-- THIS IS THE OJB DSET ENTRY IMPLEMENTATION, DO NOT
> > EDIT-->
> > >> > > <!--
> > >> > ************************************************************* -->
> > >> > > <class-descriptor class="
> > >> > org.apache.ojb.odmg.collections.DSetEntry "
> > table="OJB_DSET_ENTRIES">
> > >> > > <field-descriptor name="id" column="ID"
> > >> > jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
> > >> > > <field-descriptor name="dlistId" column="DLIST_ID"
> > >> > jdbc-type="INTEGER"/>
> > >> > > <field-descriptor name="position"
> > column="POSITION_"
> > >> > jdbc-type="INTEGER"/>
> > >> > > <field-descriptor name="oid" column="OID_"
> > >> > jdbc-type="LONGVARBINARY" conversion="
> > >> >
> > >>
> > org.apache.ojb.broker.accesslayer.conversions.Object2ByteArrFieldConversion
> > >>
> > >> > "/>
> > >> > > </class-descriptor>
> > >> > > <!--
> > >> > ************************************************************* -->
> > >> > > <!-- THIS IS THE OJB DMAP IMPLEMENTATION, DO NOT EDIT-->
> > >> > > <!--
> > >> > ************************************************************* -->
> > >> > > <class-descriptor class="
> > >> > org.apache.ojb.odmg.collections.DMapImpl " table="OJB_DMAP">
> > >> > > <field-descriptor name="id" column="ID"
> > >> > jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
> > >> > > <collection-descriptor name="entries"
> > >> > element-class-ref=" org.apache.ojb.odmg.collections.DMapEntry"
> > >> > collection-class="
> > >> > org.apache.ojb.broker.util.collections.ManageableHashSet"
> > >> > auto-retrieve="true" auto-update="none" auto-delete="none">
> > >> > > <inverse-foreignkey field-ref="dmapId"/>
> > >> > > </collection-descriptor>
> > >> > > </class-descriptor>
> > >> > > <!--
> > >> > ************************************************************* -->
> > >> > > <!-- THIS IS THE OJB DMAP ENTRY IMPLEMENTATION, DO NOT
> > EDIT-->
> > >> > > <!--
> > >> > ************************************************************* -->
> > >> > > <class-descriptor class="
> > >> > org.apache.ojb.odmg.collections.DMapEntry "
> > table="OJB_DMAP_ENTRIES">
> > >> > > <field-descriptor name="id" column="ID"
> > >> > jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
> > >> > > <field-descriptor name="dmapId" column="DMAP_ID"
> > >> > jdbc-type="INTEGER"/>
> > >> > > <field-descriptor name="keyOid" column="KEY_OID"
> > >> > jdbc-type="LONGVARBINARY" conversion="
> > >> >
> > >>
> > org.apache.ojb.broker.accesslayer.conversions.Object2ByteArrFieldConversion
> > >>
> > >> > "/>
> > >> > > <field-descriptor name="valueOid"
> > column="VALUE_OID"
> > >> > jdbc-type="LONGVARBINARY" conversion="
> > >> >
> > >>
> > org.apache.ojb.broker.accesslayer.conversions.Object2ByteArrFieldConversion
> > >>
> > >> > "/>
> > >> > > </class-descriptor>
> > >> > > <!-- END OF OJB INTERNAL MAPPINGS-->
> > >> > > </descriptor-repository>
> > >> > >
> > >> > >
> > >> > >
> > >> >
> > >>
> > ------------------------------------------------------------------------
> > >> > >
> > >> > >
> > ---------------------------------------------------------------------
> > >> > > To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> > >> > > For additional commands, e-mail: ojb-user-help@db.apache.org
> > >> >
> > >> >
> > ---------------------------------------------------------------------
> > >> > To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> > >> > For additional commands, e-mail: ojb-user-help@db.apache.org
> > >> >
> > >> >
> > >>
> > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> > For additional commands, e-mail: ojb-user-help@db.apache.org
> >
> >
>
Re: Crash system - DUMP File generated with OJB
Posted by Marwane <am...@gmail.com>.
you don't have another solution please , beacause i have a lot anonymous
field about 150 fields !!!!!
On 1/24/07, Armin Waibel <ar...@apache.org> wrote:
>
>
> Marwane wrote:
> > if i don't use the anonymous field this will solve the problem ???
> >
>
> yep! I suppose so.
>
> regards,
> Armin
>
> >
> >
> >
> > On 1/24/07, Marwane <am...@gmail.com> wrote:
> >>
> >> Hi,
> >>
> >> We don't modify any in ojb source classes , we use the binary ojb from
> >> apache.
> >>
> >> here is our mapping related to classes habilitations :
> >>
> >> <!-- ==============================================================
> >> TABLE HAB_CONNEXION
> >> =============================================================== -->
> >> <class-descriptor class="
> >> com.rmawatanya.convergence.utile.habilitations.Connexion "
> >> table="HAB_CONNEXION">
> >> <field-descriptor id="1" name="id" column="ID" jdbc-type="BIGINT"
> >> nullable="false" primarykey="true" autoincrement="true"/>
> >> <field-descriptor id="2" name="commentaire" column="COMMENTAIRE"
> >> jdbc-type="VARCHAR"/>
> >> <field-descriptor id="3" name="dateConnexion" column="DATECONNEXION"
> >> jdbc-type="TIMESTAMP" conversion="
> >> ma.co.omnidata.framework.services.dao.ojb.CalendarToTimeStamp"/>
> >> <field-descriptor id="4" name="dateDeconnexion"
> >> column="DATEDECONNEXION"
> >> jdbc-type="TIMESTAMP" conversion="
> >> ma.co.omnidata.framework.services.dao.ojb.CalendarToTimeStamp"/>
> >> <field-descriptor id="5" name="refUtilisateurIdOjb"
> >> column="IDUTILISATEUR" jdbc-type="BIGINT" access="anonymous"/>
> >> <reference-descriptor name="refUtilisateur" class-ref="
> >> com.rmawatanya.convergence.utile.habilitations.Utilisateur">
> >> <foreignkey field-ref="refUtilisateurIdOjb"/>
> >> </reference-descriptor>
> >> <field-descriptor id="6" name="statut" column="STATUT"
> >> jdbc-type="BIT"/>
> >> <field-descriptor id="7" name="sessionId" column="IDSESSION"
> >> jdbc-type="VARCHAR"/>
> >> </class-descriptor>
> >>
> >>
> >>
> >> <!-- ==============================================================
> >> TABLE HAB_MOTDEPASSE
> >> =============================================================== -->
> >> <class-descriptor class="
> >> com.rmawatanya.convergence.utile.habilitations.MotdePasse "
> >> table="HAB_MOTDEPASSE">
> >> <field-descriptor id="1" name="id" column="ID" jdbc-type="BIGINT"
> >> nullable="false" primarykey="true" autoincrement="true"/>
> >> <field-descriptor id="2" name="courant" column="COURANT"
> >> jdbc-type="BIT"/>
> >> <field-descriptor id="3" name="dateCreation" column="DATECREATION"
> >> jdbc-type="TIMESTAMP" conversion="
> >> ma.co.omnidata.framework.services.dao.ojb.CalendarToTimeStamp"/>
> >> <field-descriptor id="4" name="realMotdePasse"
> column="REALMOTDEPASSE"
> >> jdbc-type="VARCHAR"/>
> >> <field-descriptor id="5" name="motdePasse" column="MOTDEPASSE"
> >> jdbc-type="VARCHAR"/>
> >> <field-descriptor id="6" name="refUtilisateurIdOjb"
> >> column="IDUTILISATEUR" jdbc-type="BIGINT" access="anonymous" />
> >> <reference-descriptor name="refUtilisateur" class-ref="
> >> com.rmawatanya.convergence.utile.habilitations.Utilisateur">
> >> <foreignkey field-ref="refUtilisateurIdOjb"/>
> >> </reference-descriptor>
> >> </class-descriptor>
> >>
> >>
> >> <!-- ==============================================================
> >> TABLE HAB_PROFIL
> >> =============================================================== -->
> >> <class-descriptor class="
> >> com.rmawatanya.convergence.utile.habilitations.Profil "
> >> table="HAB_PROFIL">
> >> <field-descriptor id="1" name="id" column="ID" jdbc-type="BIGINT"
> >> nullable="false" primarykey="true" autoincrement="true"/>
> >> <field-descriptor id="2" name="code" column="CODE"
> >> jdbc-type="INTEGER"/>
> >> <field-descriptor id="3" name="dateEffet" column="DATEEFFET"
> >> jdbc-type="DATE" conversion="
> >>
> org.apache.ojb.broker.accesslayer.conversions.Calendar2DateFieldConversion
> >>
> >> "/>
> >> <field-descriptor id="4" name="dateFin" column="DATEFIN"
> >> jdbc-type="DATE" conversion="
> >>
> org.apache.ojb.broker.accesslayer.conversions.Calendar2DateFieldConversion
> >>
> >> "/>
> >> <field-descriptor id="5" name="libelleRole" column="LIBELLE"
> >> jdbc-type="VARCHAR"/>
> >> <field-descriptor id="6" name="profilStandard"
> column="PROFILSTANDARD"
> >> jdbc-type="BIT"/>
> >> <field-descriptor id="7" name="refSocieteIdOjb" column="IDSOCIETE"
> >> jdbc-type="BIGINT" access="anonymous"/>
> >> <reference-descriptor name="refType" class-ref="
> >> com.rmawatanya.convergence.utile.organisation.Societe">
> >> <foreignkey field-ref="refSocieteIdOjb"/>
> >> </reference-descriptor>
> >> <collection-descriptor name="refUtilisateurs" collection-class="
> >> org.apache.ojb.broker.util.collections.ManageableArrayList"
> >> element-class-ref="
> >> com.rmawatanya.convergence.utile.habilitations.Utilisateur "
> >> auto-retrieve="true" auto-update="true">
> >> <inverse-foreignkey field-ref="refProfilIdOjb"/>
> >> </collection-descriptor>
> >> <collection-descriptor name="actions" collection-class="
> >> org.apache.ojb.broker.util.collections.ManageableArrayList"
> >> element-class-ref="
> >> com.rmawatanya.convergence.utile.referentiel.Fonctionnalite"
> >> auto-retrieve="true" auto-update="true"
> >> indirection-table="HAB_ASSOC_PROFIL_FONCTIONNALITE">
> >> <fk-pointing-to-this-class column="IDPROFIL"/>
> >> <fk-pointing-to-element-class column="IDFONCTIONNALITE"/>
> >> </collection-descriptor>
> >> </class-descriptor>
> >>
> >> <!-- ==============================================================
> >> TABLE HAB_UTILISATEUR
> >> =============================================================== -->
> >> <class-descriptor class="
> >> com.rmawatanya.convergence.utile.habilitations.Utilisateur "
> >> table="HAB_UTILISATEUR">
> >> <field-descriptor id="1" name="id" column="ID" jdbc-type="BIGINT"
> >> nullable="false" primarykey="true" autoincrement="true" />
> >> <field-descriptor id="2" name="autoriseTouteAgence"
> >> column="AUTORISETOUTEAGENCE" jdbc-type="BIT"/>
> >> <field-descriptor id="3" name="autoriseToutProduit"
> >> column="AUTORISETOUTPRODUIT" jdbc-type="BIT"/>
> >> <field-descriptor id="4" name="blocked" column="BLOQUE"
> >> jdbc-type="BIT"/>
> >> <field-descriptor id="5" name="changementMotdePassealaConnexion"
> >> column="CHANGMOTDEPASSEALACONNEXION" jdbc-type="BIT"/>
> >> <field-descriptor id="6" name="dateDebutAcces"
> column="DATEDEBUTACCES"
> >> jdbc-type="DATE" conversion="
> >>
> org.apache.ojb.broker.accesslayer.conversions.Calendar2DateFieldConversion
> "/>
> >>
> >> <field-descriptor id="7" name="dateFinAcces" column="DATEFINACCES"
> >> jdbc-type="DATE" conversion="
> >>
> org.apache.ojb.broker.accesslayer.conversions.Calendar2DateFieldConversion
> "/>
> >>
> >> <field-descriptor id="8" name="email" column="EMAIL"
> >> jdbc-type="VARCHAR"/>
> >> <field-descriptor id="9" name="login" column="LOGIN"
> >> jdbc-type="VARCHAR"/>
> >> <field-descriptor id="10" name="nom" column="NOM"
> jdbc-type="VARCHAR"/>
> >> <field-descriptor id="11" name="prenom" column="PRENOM"
> >> jdbc-type="VARCHAR"/>
> >> <field-descriptor id="12" name="superUtilisateur"
> >> column="SUPERUTILISATEUR" jdbc-type="BIT"/>
> >> <field-descriptor id="13" name="telephone" column="TELEPHONE"
> >> jdbc-type="VARCHAR"/>
> >> <field-descriptor id="14" name="refEntiteIdOjb" column="IDENTITE"
> >> jdbc-type="BIGINT" access="anonymous"/>
> >> <field-descriptor id="15" name="refProfilIdOjb" column="IDPROFIL"
> >> jdbc-type="BIGINT" access="anonymous"/>
> >> <reference-descriptor name="refEntiteAppartenance" class-ref="
> >> com.rmawatanya.convergence.utile.organisation.Entite">
> >> <foreignkey field-ref="refEntiteIdOjb"/>
> >> </reference-descriptor>
> >> <reference-descriptor name="refProfil" class-ref="
> >> com.rmawatanya.convergence.utile.habilitations.Profil">
> >> <foreignkey field-ref="refProfilIdOjb"/>
> >> </reference-descriptor>
> >> <collection-descriptor name="refMotsdePasse" collection-class="
> >> org.apache.ojb.broker.util.collections.ManageableArrayList"
> >> element-class-ref="
> >> com.rmawatanya.convergence.utile.habilitations.MotdePasse "
> >> auto-retrieve="true" auto-update="true" orderby="id" sort="DESC" >
> >> <inverse-foreignkey field-ref="refUtilisateurIdOjb"/>
> >> </collection-descriptor>
> >> <collection-descriptor name="refConnexions" collection-class="
> >> org.apache.ojb.broker.util.collections.ManageableArrayList"
> >> element-class-ref="
> >> com.rmawatanya.convergence.utile.habilitations.Connexion "
> >> auto-retrieve="true" auto-update="true" orderby="id" sort="DESC" >
> >> <inverse-foreignkey field-ref="refUtilisateurIdOjb"/>
> >> </collection-descriptor>
> >> <collection-descriptor name="refProduitsAutorises" collection-class="
> >> org.apache.ojb.broker.util.collections.ManageableArrayList"
> >> element-class-ref="
> >> com.rmawatanya.convergence.application.prd.metier.modele.Produit "
> >> auto-retrieve="true" auto-update="true"
> >> indirection-table="HAB_ASSOC_UTILISATEUR_PRODUIT">
> >> <fk-pointing-to-this-class column="IDUTILISATEUR"/>
> >> <fk-pointing-to-element-class column="IDPRODUIT"/>
> >> </collection-descriptor>
> >> </class-descriptor>
> >>
> >>
> >> On 1/24/07, Armin Waibel <ar...@apache.org> wrote:
> >> >
> >> > Hi,
> >> >
> >> > I tested the implementation of class ReferenceMap - it works as
> >> > expected. In class AnonymousPersistentField the persistent object is
> >> > used as map key, the field value (of the anonymous field) as map
> value
> >> > and the ReferenceMap use weak keys and hard values, thus all
> persistent
> >> > objects set in class AnonymousPersistentField should be GC (if the
> >> > persistent object was no longer referenced) - in theory this should
> >> > work, but it seems this doesn't work for you.
> >> >
> >> > Could you please post the mapping of the involved classes MotdePasse
> >> and
> >> > Utilisateur (and of mapped sub/super-classes of these classes if any
> >> > exist).
> >> > Do you modify any source classes of OJB related to anonymous fields
> or
> >> > references?
> >> >
> >> > regards,
> >> > Armin
> >> >
> >> > Marwane wrote:
> >> > > Hi,
> >> > > we have a production application on system Windows Server that
> >> using :
> >> >
> >> > > WebSphere 6.0
> >> > > OJB version 1.0.3
> >> > > the application generate a lot of dump file in the system witch
> cause
> >> > a
> >> > > system crash .. in the log i find this :
> >> > > 1,095,332,808 [24] 2
> >> > > org/apache/ojb/broker/metadata/fieldaccess/AnonymousPersistentField
> >> > > 0x11841c40
> >> > > 1,095,332,784 [72] 2 org/apache/ojb/broker/util/ReferenceMap
> >> > 0x1664db30
> >> > > 1,095,332,664 [262,160] 23,114 array of
> >> > > org/apache/ojb/broker/util/ReferenceMap$Entry 0x71b48528
> >> > > 38,548,064 [32] 4 org/apache/ojb/broker/util/ReferenceMap$Entry
> >> > > 0x60e5c2f0
> >> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> >> > > 0x229d1fd0
> >> > > 38,543,048 [32] 2
> >> org/apache/ojb/broker/util/ReferenceMap$WeakRef
> >> > > 0x229d1ff0
> >> > > 38,543,016 [40] 4
> >> > > com/convergence/utile/habilitations/MotdePasse 0x229d20b8
> >> > > 38,542,032 [120] 14
> >> > > com/convergence/utile/habilitations/Utilisateur 0x2056fde0
> >> > > 38,146,872 [64] 6
> >> > > com/convergence/utile/habilitations/Profil 0x1e806358
> >> > > 390,528 [24] 1
> >> > > org/apache/ojb/broker/util/collections/ManageableArrayList
> 0x29d00308
> >> > > 3,032 [24] 1
> >> > > org/apache/ojb/broker/util/collections/ManageableArrayList
> 0x254d0d38
> >> > > 880 [128] 9 java/util/GregorianCalendar 0x205702b0
> >> > > 128 [40] 4 com/convergence/utile/organisation/Entite
> >> > > 0x21cca310
> >> > > 88 [32] 1 java/lang/String 0x2056ffa0
> >> > > 80 [24] 1
> >> > > org/apache/ojb/broker/util/collections/ManageableArrayList
> 0x2b1e6ee8
> >> > > 80 [24] 1 java/util/ArrayList 0x2056fdc8
> >> > > 64 [32] 1 java/lang/String 0x2056fed8
> >> > > 56 [32] 1 java/lang/String 0x2056ff10
> >> > > 56 [32] 1 java/lang/String 0x2056ff48
> >> > > 48 [32] 1 java/lang/String 0x2056fe98
> >> > > 16 [16] 0 java/lang/Boolean 0x101eccb0
> >> > > 16 [16] 0 java/lang/Boolean 0x101eccc0
> >> > > 880 [128] 9 java/util/GregorianCalendar 0x229d2430
> >> > > 64 [32] 1 java/lang/String 0x229d2120
> >> > > 16 [16] 0 java/lang/Boolean 0x101eccc0
> >> > > 48 [32] 1 java/lang/ref/ReferenceQueue 0x1664db10
> >> > > 24 [24] 0 java/lang/Long 0x229d20e8
> >> > > 1,095,332,784 [72] 2 org/apache/ojb/broker/util/ReferenceMap
> >> > > 0x1664db30
> >> > > 4,904 [32] 2 org/apache/ojb/broker/util/ReferenceMap$WeakRef
> >> > > 0x60e5c310
> >> > > 24 [24] 0 java/lang/Long 0x60e5c360
> >> > > 1,095,332,784 [72] 2 org/apache/ojb/broker/util/ReferenceMap
> >> > > 0x1664db30
> >> > > 38,547,920 [32] 4 org/apache/ojb/broker/util/ReferenceMap$Entry
> >> > > 0x659aea38
> >> > > 38,543,280 [32] 4 org/apache/ojb/broker/util/ReferenceMap$Entry
> >> > > 0x19f95b00
> >> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> >> > > 0x65d52218
> >> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> >> > > 0x675fd680
> >> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> >> > > 0x4a016de8
> >> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> >> > > 0x1b3b09c0
> >> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> >> > > 0x4384a5e8
> >> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> >> > > 0x270b7740
> >> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> >> > > 0x1c9d4ed0
> >> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> >> > > 0x505d07a0
> >> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> >> > > 0x3b8f8f10
> >> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> >> > > 0x6916b088
> >> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> >> > > 0x3d6fdbd0
> >> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> >> > > 0x14a30960
> >> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> >> > > 0x5d3cd108
> >> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> >> > > 0x13937968
> >> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> >> > > 0x1aa7b5f8
> >> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> >> > > 0x118db108
> >> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> >> > > 0x58115890
> >> > > There are 23,094 more children
> >> > >
> >> > >
> >> > > so, some object like
> >> 'org/apache/ojb/broker/util/ReferenceMap$Entry',
> >> > > 'org/apache/ojb/broker/util/ReferenceMap' ,
> >> > > org/apache/ojb/broker/metadata/fieldaccess/AnonymousPersistentField
> >> > > objects are consuming
> >> > > more than 1 GB (1,095,332,664 bytes) on heap.
> >> > >
> >> > >
> >> > > I need an explanation of this , please. and solution or test to do
> .
> >> > >
> >> > > thx in advance.
> >> > >
> >> > >
> >> > >
> >> > >
> >> >
> >>
> ------------------------------------------------------------------------
> >> > >
> >> > > <?xml version="1.0" encoding="UTF-8"?>
> >> > > <!DOCTYPE descriptor-repository PUBLIC "-//Apache Software
> >> > Foundation//DTD OJB Repository//EN"
> >> > > "repository.dtd">
> >> > > <descriptor-repository version="1.0"
> >> > isolation-level="read-uncommitted" proxy-prefetching-limit="50">
> >> > > <jdbc-connection-descriptor jcd-alias="default"
> >> > default-connection="true" platform="Db2" jdbc-level=" 2.0" driver="
> >> > com.p6spy.engine.spy.P6SpyDriver" protocol="jdbc" subprotocol="db2"
> >> > dbalias="//localhost/DEV" username="db2admin" password="db2admin">
> >> > > <sequence-manager className="
> >> > org.apache.ojb.broker.util.sequence.SequenceManagerHighLowImpl">
> >> > > <attribute attribute-name="grabSize"
> >> > attribute-value="5"/>
> >> > > <attribute attribute-name="globalSequenceId"
> >> > attribute-value="true"/>
> >> > > <attribute
> attribute-name="globalSequenceStart"
> >> > attribute-value="10000"/>
> >> > > </sequence-manager>
> >> > > </jdbc-connection-descriptor>
> >> > >
> >> > >
> >> > > <!-- OJB INTERNAL MAPPINGS START HERE, DO NOT EDIT -->
> >> > > <!--
> >> > ************************************************************* -->
> >> > > <!-- The OJB HIGH/LOW SequenceManagerTable -->
> >> > > <!--
> >> > ************************************************************* -->
> >> > > <class-descriptor class="
> >> > org.apache.ojb.broker.util.sequence.HighLowSequence"
> >> table="OJB_HL_SEQ">
> >> >
> >> > > <object-cache class="
> >> > org.apache.ojb.broker.cache.ObjectCacheEmptyImpl"/>
> >> > > <field-descriptor name="tableName" column="TABLENAME"
> >> > jdbc-type="VARCHAR" primarykey="true"/>
> >> > > <field-descriptor name="fieldName" column="FIELDNAME"
> >> > jdbc-type="VARCHAR" primarykey="true"/>
> >> > > <field-descriptor name="maxKey" column="MAX_KEY"
> >> > jdbc-type="BIGINT"/>
> >> > > <field-descriptor name="grabSize" column="GRAB_SIZE"
> >> > jdbc-type="INTEGER"/>
> >> > > <field-descriptor name="version" column="VERSION"
> >> > jdbc-type="INTEGER" locking="true"/>
> >> > > </class-descriptor>
> >> > > <!--
> >> > ************************************************************* -->
> >> > > <!-- THIS IS THE OJB NAMED ROOTS TABLE, DO NOT EDIT-->
> >> > > <!--
> >> > ************************************************************* -->
> >> > > <class-descriptor class="
> >> > org.apache.ojb.odmg.NamedRootsMap$NamedEntry" table="OJB_NRM">
> >> > > <field-descriptor name="name" column="NAME"
> >> > jdbc-type="VARCHAR" primarykey="true"/>
> >> > > <field-descriptor name="oid" column="OID_"
> >> > jdbc-type="LONGVARBINARY"/>
> >> > > </class-descriptor>
> >> > > <!--
> >> > ************************************************************* -->
> >> > > <!-- THIS IS THE OJB DLIST IMPLEMENTATION, DO NOT EDIT-->
> >> > > <!-- alternative implementation of DList -->
> >> > > <!--
> >> > ************************************************************* -->
> >> > > <class-descriptor class="
> >> > org.apache.ojb.odmg.collections.DListImpl" table="OJB_DLIST">
> >> > > <field-descriptor name="id" column="ID"
> >> > jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
> >> > > <collection-descriptor name="elements"
> >> > element-class-ref="org.apache.ojb.odmg.collections.DListEntry"
> >> > auto-retrieve="true" auto-update="none" auto-delete="none">
> >> > > <inverse-foreignkey field-ref="dlistId"/>
> >> > > </collection-descriptor>
> >> > > </class-descriptor>
> >> > > <!--
> >> > ************************************************************* -->
> >> > > <!-- THIS IS THE OJB DLIST ENTRY IMPLEMENTATION, DO NOT
> EDIT-->
> >> > > <!--
> >> > ************************************************************* -->
> >> > > <class-descriptor class="
> >> > org.apache.ojb.odmg.collections.DListEntry"
> table="OJB_DLIST_ENTRIES">
> >> > > <field-descriptor name="id" column="ID"
> >> > jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
> >> > > <field-descriptor name="dlistId" column="DLIST_ID"
> >> > jdbc-type="INTEGER"/>
> >> > > <field-descriptor name="position" column="POSITION_"
> >> > jdbc-type="INTEGER"/>
> >> > > <field-descriptor name="oid" column="OID_"
> >> > jdbc-type="LONGVARBINARY" conversion="
> >> >
> >>
> org.apache.ojb.broker.accesslayer.conversions.Object2ByteArrFieldConversion
> "/>
> >>
> >> >
> >> > > </class-descriptor>
> >> > > <!--
> >> > ************************************************************* -->
> >> > > <!-- THIS IS THE OJB DBAG IMPLEMENTATION, DO NOT EDIT-->
> >> > > <!--
> >> > ************************************************************* -->
> >> > > <class-descriptor class="
> >> > org.apache.ojb.odmg.collections.DBagImpl" table="OJB_DLIST">
> >> > > <field-descriptor name="id" column="ID"
> >> > jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
> >> > > <collection-descriptor name="elements"
> >> > element-class-ref="org.apache.ojb.odmg.collections.DListEntry"
> >> > auto-retrieve="true" auto-update="none" auto-delete="none">
> >> > > <inverse-foreignkey field-ref="dlistId"/>
> >> > > </collection-descriptor>
> >> > > </class-descriptor>
> >> > > <!--
> >> > ************************************************************* -->
> >> > > <!-- THIS IS THE OJB DSET IMPLEMENTATION, DO NOT EDIT-->
> >> > > <!--
> >> > ************************************************************* -->
> >> > > <class-descriptor class="
> >> > org.apache.ojb.odmg.collections.DSetImpl " table="OJB_DSET">
> >> > > <field-descriptor name="id" column="ID"
> >> > jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
> >> > > <collection-descriptor name="elements"
> >> > element-class-ref=" org.apache.ojb.odmg.collections.DSetEntry"
> >> > auto-retrieve="true" auto-update="none" auto-delete="none">
> >> > > <inverse-foreignkey field-ref="dlistId"/>
> >> > > </collection-descriptor>
> >> > > </class-descriptor>
> >> > > <!--
> >> > ************************************************************* -->
> >> > > <!-- THIS IS THE OJB DSET ENTRY IMPLEMENTATION, DO NOT
> EDIT-->
> >> > > <!--
> >> > ************************************************************* -->
> >> > > <class-descriptor class="
> >> > org.apache.ojb.odmg.collections.DSetEntry" table="OJB_DSET_ENTRIES">
> >> > > <field-descriptor name="id" column="ID"
> >> > jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
> >> > > <field-descriptor name="dlistId" column="DLIST_ID"
> >> > jdbc-type="INTEGER"/>
> >> > > <field-descriptor name="position" column="POSITION_"
> >> > jdbc-type="INTEGER"/>
> >> > > <field-descriptor name="oid" column="OID_"
> >> > jdbc-type="LONGVARBINARY" conversion="
> >> >
> >>
> org.apache.ojb.broker.accesslayer.conversions.Object2ByteArrFieldConversion
> >>
> >> > "/>
> >> > > </class-descriptor>
> >> > > <!--
> >> > ************************************************************* -->
> >> > > <!-- THIS IS THE OJB DMAP IMPLEMENTATION, DO NOT EDIT-->
> >> > > <!--
> >> > ************************************************************* -->
> >> > > <class-descriptor class="
> >> > org.apache.ojb.odmg.collections.DMapImpl " table="OJB_DMAP">
> >> > > <field-descriptor name="id" column="ID"
> >> > jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
> >> > > <collection-descriptor name="entries"
> >> > element-class-ref=" org.apache.ojb.odmg.collections.DMapEntry"
> >> > collection-class="
> >> > org.apache.ojb.broker.util.collections.ManageableHashSet"
> >> > auto-retrieve="true" auto-update="none" auto-delete="none">
> >> > > <inverse-foreignkey field-ref="dmapId"/>
> >> > > </collection-descriptor>
> >> > > </class-descriptor>
> >> > > <!--
> >> > ************************************************************* -->
> >> > > <!-- THIS IS THE OJB DMAP ENTRY IMPLEMENTATION, DO NOT
> EDIT-->
> >> > > <!--
> >> > ************************************************************* -->
> >> > > <class-descriptor class="
> >> > org.apache.ojb.odmg.collections.DMapEntry" table="OJB_DMAP_ENTRIES">
> >> > > <field-descriptor name="id" column="ID"
> >> > jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
> >> > > <field-descriptor name="dmapId" column="DMAP_ID"
> >> > jdbc-type="INTEGER"/>
> >> > > <field-descriptor name="keyOid" column="KEY_OID"
> >> > jdbc-type="LONGVARBINARY" conversion="
> >> >
> >>
> org.apache.ojb.broker.accesslayer.conversions.Object2ByteArrFieldConversion
> >>
> >> > "/>
> >> > > <field-descriptor name="valueOid" column="VALUE_OID"
> >> > jdbc-type="LONGVARBINARY" conversion="
> >> >
> >>
> org.apache.ojb.broker.accesslayer.conversions.Object2ByteArrFieldConversion
> >>
> >> > "/>
> >> > > </class-descriptor>
> >> > > <!-- END OF OJB INTERNAL MAPPINGS-->
> >> > > </descriptor-repository>
> >> > >
> >> > >
> >> > >
> >> >
> >>
> ------------------------------------------------------------------------
> >> > >
> >> > >
> ---------------------------------------------------------------------
> >> > > To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> >> > > For additional commands, e-mail: ojb-user-help@db.apache.org
> >> >
> >> > ---------------------------------------------------------------------
> >> > To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> >> > For additional commands, e-mail: ojb-user-help@db.apache.org
> >> >
> >> >
> >>
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
>
>
Re: Crash system - DUMP File generated with OJB
Posted by Armin Waibel <ar...@apache.org>.
Marwane wrote:
> if i don't use the anonymous field this will solve the problem ???
>
yep! I suppose so.
regards,
Armin
>
>
>
> On 1/24/07, Marwane <am...@gmail.com> wrote:
>>
>> Hi,
>>
>> We don't modify any in ojb source classes , we use the binary ojb from
>> apache.
>>
>> here is our mapping related to classes habilitations :
>>
>> <!-- ==============================================================
>> TABLE HAB_CONNEXION
>> =============================================================== -->
>> <class-descriptor class="
>> com.rmawatanya.convergence.utile.habilitations.Connexion "
>> table="HAB_CONNEXION">
>> <field-descriptor id="1" name="id" column="ID" jdbc-type="BIGINT"
>> nullable="false" primarykey="true" autoincrement="true"/>
>> <field-descriptor id="2" name="commentaire" column="COMMENTAIRE"
>> jdbc-type="VARCHAR"/>
>> <field-descriptor id="3" name="dateConnexion" column="DATECONNEXION"
>> jdbc-type="TIMESTAMP" conversion="
>> ma.co.omnidata.framework.services.dao.ojb.CalendarToTimeStamp"/>
>> <field-descriptor id="4" name="dateDeconnexion"
>> column="DATEDECONNEXION"
>> jdbc-type="TIMESTAMP" conversion="
>> ma.co.omnidata.framework.services.dao.ojb.CalendarToTimeStamp"/>
>> <field-descriptor id="5" name="refUtilisateurIdOjb"
>> column="IDUTILISATEUR" jdbc-type="BIGINT" access="anonymous"/>
>> <reference-descriptor name="refUtilisateur" class-ref="
>> com.rmawatanya.convergence.utile.habilitations.Utilisateur">
>> <foreignkey field-ref="refUtilisateurIdOjb"/>
>> </reference-descriptor>
>> <field-descriptor id="6" name="statut" column="STATUT"
>> jdbc-type="BIT"/>
>> <field-descriptor id="7" name="sessionId" column="IDSESSION"
>> jdbc-type="VARCHAR"/>
>> </class-descriptor>
>>
>>
>>
>> <!-- ==============================================================
>> TABLE HAB_MOTDEPASSE
>> =============================================================== -->
>> <class-descriptor class="
>> com.rmawatanya.convergence.utile.habilitations.MotdePasse "
>> table="HAB_MOTDEPASSE">
>> <field-descriptor id="1" name="id" column="ID" jdbc-type="BIGINT"
>> nullable="false" primarykey="true" autoincrement="true"/>
>> <field-descriptor id="2" name="courant" column="COURANT"
>> jdbc-type="BIT"/>
>> <field-descriptor id="3" name="dateCreation" column="DATECREATION"
>> jdbc-type="TIMESTAMP" conversion="
>> ma.co.omnidata.framework.services.dao.ojb.CalendarToTimeStamp"/>
>> <field-descriptor id="4" name="realMotdePasse" column="REALMOTDEPASSE"
>> jdbc-type="VARCHAR"/>
>> <field-descriptor id="5" name="motdePasse" column="MOTDEPASSE"
>> jdbc-type="VARCHAR"/>
>> <field-descriptor id="6" name="refUtilisateurIdOjb"
>> column="IDUTILISATEUR" jdbc-type="BIGINT" access="anonymous" />
>> <reference-descriptor name="refUtilisateur" class-ref="
>> com.rmawatanya.convergence.utile.habilitations.Utilisateur">
>> <foreignkey field-ref="refUtilisateurIdOjb"/>
>> </reference-descriptor>
>> </class-descriptor>
>>
>>
>> <!-- ==============================================================
>> TABLE HAB_PROFIL
>> =============================================================== -->
>> <class-descriptor class="
>> com.rmawatanya.convergence.utile.habilitations.Profil "
>> table="HAB_PROFIL">
>> <field-descriptor id="1" name="id" column="ID" jdbc-type="BIGINT"
>> nullable="false" primarykey="true" autoincrement="true"/>
>> <field-descriptor id="2" name="code" column="CODE"
>> jdbc-type="INTEGER"/>
>> <field-descriptor id="3" name="dateEffet" column="DATEEFFET"
>> jdbc-type="DATE" conversion="
>> org.apache.ojb.broker.accesslayer.conversions.Calendar2DateFieldConversion
>>
>> "/>
>> <field-descriptor id="4" name="dateFin" column="DATEFIN"
>> jdbc-type="DATE" conversion="
>> org.apache.ojb.broker.accesslayer.conversions.Calendar2DateFieldConversion
>>
>> "/>
>> <field-descriptor id="5" name="libelleRole" column="LIBELLE"
>> jdbc-type="VARCHAR"/>
>> <field-descriptor id="6" name="profilStandard" column="PROFILSTANDARD"
>> jdbc-type="BIT"/>
>> <field-descriptor id="7" name="refSocieteIdOjb" column="IDSOCIETE"
>> jdbc-type="BIGINT" access="anonymous"/>
>> <reference-descriptor name="refType" class-ref="
>> com.rmawatanya.convergence.utile.organisation.Societe">
>> <foreignkey field-ref="refSocieteIdOjb"/>
>> </reference-descriptor>
>> <collection-descriptor name="refUtilisateurs" collection-class="
>> org.apache.ojb.broker.util.collections.ManageableArrayList"
>> element-class-ref="
>> com.rmawatanya.convergence.utile.habilitations.Utilisateur "
>> auto-retrieve="true" auto-update="true">
>> <inverse-foreignkey field-ref="refProfilIdOjb"/>
>> </collection-descriptor>
>> <collection-descriptor name="actions" collection-class="
>> org.apache.ojb.broker.util.collections.ManageableArrayList"
>> element-class-ref="
>> com.rmawatanya.convergence.utile.referentiel.Fonctionnalite"
>> auto-retrieve="true" auto-update="true"
>> indirection-table="HAB_ASSOC_PROFIL_FONCTIONNALITE">
>> <fk-pointing-to-this-class column="IDPROFIL"/>
>> <fk-pointing-to-element-class column="IDFONCTIONNALITE"/>
>> </collection-descriptor>
>> </class-descriptor>
>>
>> <!-- ==============================================================
>> TABLE HAB_UTILISATEUR
>> =============================================================== -->
>> <class-descriptor class="
>> com.rmawatanya.convergence.utile.habilitations.Utilisateur "
>> table="HAB_UTILISATEUR">
>> <field-descriptor id="1" name="id" column="ID" jdbc-type="BIGINT"
>> nullable="false" primarykey="true" autoincrement="true" />
>> <field-descriptor id="2" name="autoriseTouteAgence"
>> column="AUTORISETOUTEAGENCE" jdbc-type="BIT"/>
>> <field-descriptor id="3" name="autoriseToutProduit"
>> column="AUTORISETOUTPRODUIT" jdbc-type="BIT"/>
>> <field-descriptor id="4" name="blocked" column="BLOQUE"
>> jdbc-type="BIT"/>
>> <field-descriptor id="5" name="changementMotdePassealaConnexion"
>> column="CHANGMOTDEPASSEALACONNEXION" jdbc-type="BIT"/>
>> <field-descriptor id="6" name="dateDebutAcces" column="DATEDEBUTACCES"
>> jdbc-type="DATE" conversion="
>> org.apache.ojb.broker.accesslayer.conversions.Calendar2DateFieldConversion"/>
>>
>> <field-descriptor id="7" name="dateFinAcces" column="DATEFINACCES"
>> jdbc-type="DATE" conversion="
>> org.apache.ojb.broker.accesslayer.conversions.Calendar2DateFieldConversion"/>
>>
>> <field-descriptor id="8" name="email" column="EMAIL"
>> jdbc-type="VARCHAR"/>
>> <field-descriptor id="9" name="login" column="LOGIN"
>> jdbc-type="VARCHAR"/>
>> <field-descriptor id="10" name="nom" column="NOM" jdbc-type="VARCHAR"/>
>> <field-descriptor id="11" name="prenom" column="PRENOM"
>> jdbc-type="VARCHAR"/>
>> <field-descriptor id="12" name="superUtilisateur"
>> column="SUPERUTILISATEUR" jdbc-type="BIT"/>
>> <field-descriptor id="13" name="telephone" column="TELEPHONE"
>> jdbc-type="VARCHAR"/>
>> <field-descriptor id="14" name="refEntiteIdOjb" column="IDENTITE"
>> jdbc-type="BIGINT" access="anonymous"/>
>> <field-descriptor id="15" name="refProfilIdOjb" column="IDPROFIL"
>> jdbc-type="BIGINT" access="anonymous"/>
>> <reference-descriptor name="refEntiteAppartenance" class-ref="
>> com.rmawatanya.convergence.utile.organisation.Entite">
>> <foreignkey field-ref="refEntiteIdOjb"/>
>> </reference-descriptor>
>> <reference-descriptor name="refProfil" class-ref="
>> com.rmawatanya.convergence.utile.habilitations.Profil">
>> <foreignkey field-ref="refProfilIdOjb"/>
>> </reference-descriptor>
>> <collection-descriptor name="refMotsdePasse" collection-class="
>> org.apache.ojb.broker.util.collections.ManageableArrayList"
>> element-class-ref="
>> com.rmawatanya.convergence.utile.habilitations.MotdePasse "
>> auto-retrieve="true" auto-update="true" orderby="id" sort="DESC" >
>> <inverse-foreignkey field-ref="refUtilisateurIdOjb"/>
>> </collection-descriptor>
>> <collection-descriptor name="refConnexions" collection-class="
>> org.apache.ojb.broker.util.collections.ManageableArrayList"
>> element-class-ref="
>> com.rmawatanya.convergence.utile.habilitations.Connexion "
>> auto-retrieve="true" auto-update="true" orderby="id" sort="DESC" >
>> <inverse-foreignkey field-ref="refUtilisateurIdOjb"/>
>> </collection-descriptor>
>> <collection-descriptor name="refProduitsAutorises" collection-class="
>> org.apache.ojb.broker.util.collections.ManageableArrayList"
>> element-class-ref="
>> com.rmawatanya.convergence.application.prd.metier.modele.Produit "
>> auto-retrieve="true" auto-update="true"
>> indirection-table="HAB_ASSOC_UTILISATEUR_PRODUIT">
>> <fk-pointing-to-this-class column="IDUTILISATEUR"/>
>> <fk-pointing-to-element-class column="IDPRODUIT"/>
>> </collection-descriptor>
>> </class-descriptor>
>>
>>
>> On 1/24/07, Armin Waibel <ar...@apache.org> wrote:
>> >
>> > Hi,
>> >
>> > I tested the implementation of class ReferenceMap - it works as
>> > expected. In class AnonymousPersistentField the persistent object is
>> > used as map key, the field value (of the anonymous field) as map value
>> > and the ReferenceMap use weak keys and hard values, thus all persistent
>> > objects set in class AnonymousPersistentField should be GC (if the
>> > persistent object was no longer referenced) - in theory this should
>> > work, but it seems this doesn't work for you.
>> >
>> > Could you please post the mapping of the involved classes MotdePasse
>> and
>> > Utilisateur (and of mapped sub/super-classes of these classes if any
>> > exist).
>> > Do you modify any source classes of OJB related to anonymous fields or
>> > references?
>> >
>> > regards,
>> > Armin
>> >
>> > Marwane wrote:
>> > > Hi,
>> > > we have a production application on system Windows Server that
>> using :
>> >
>> > > WebSphere 6.0
>> > > OJB version 1.0.3
>> > > the application generate a lot of dump file in the system witch cause
>> > a
>> > > system crash .. in the log i find this :
>> > > 1,095,332,808 [24] 2
>> > > org/apache/ojb/broker/metadata/fieldaccess/AnonymousPersistentField
>> > > 0x11841c40
>> > > 1,095,332,784 [72] 2 org/apache/ojb/broker/util/ReferenceMap
>> > 0x1664db30
>> > > 1,095,332,664 [262,160] 23,114 array of
>> > > org/apache/ojb/broker/util/ReferenceMap$Entry 0x71b48528
>> > > 38,548,064 [32] 4 org/apache/ojb/broker/util/ReferenceMap$Entry
>> > > 0x60e5c2f0
>> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
>> > > 0x229d1fd0
>> > > 38,543,048 [32] 2
>> org/apache/ojb/broker/util/ReferenceMap$WeakRef
>> > > 0x229d1ff0
>> > > 38,543,016 [40] 4
>> > > com/convergence/utile/habilitations/MotdePasse 0x229d20b8
>> > > 38,542,032 [120] 14
>> > > com/convergence/utile/habilitations/Utilisateur 0x2056fde0
>> > > 38,146,872 [64] 6
>> > > com/convergence/utile/habilitations/Profil 0x1e806358
>> > > 390,528 [24] 1
>> > > org/apache/ojb/broker/util/collections/ManageableArrayList 0x29d00308
>> > > 3,032 [24] 1
>> > > org/apache/ojb/broker/util/collections/ManageableArrayList 0x254d0d38
>> > > 880 [128] 9 java/util/GregorianCalendar 0x205702b0
>> > > 128 [40] 4 com/convergence/utile/organisation/Entite
>> > > 0x21cca310
>> > > 88 [32] 1 java/lang/String 0x2056ffa0
>> > > 80 [24] 1
>> > > org/apache/ojb/broker/util/collections/ManageableArrayList 0x2b1e6ee8
>> > > 80 [24] 1 java/util/ArrayList 0x2056fdc8
>> > > 64 [32] 1 java/lang/String 0x2056fed8
>> > > 56 [32] 1 java/lang/String 0x2056ff10
>> > > 56 [32] 1 java/lang/String 0x2056ff48
>> > > 48 [32] 1 java/lang/String 0x2056fe98
>> > > 16 [16] 0 java/lang/Boolean 0x101eccb0
>> > > 16 [16] 0 java/lang/Boolean 0x101eccc0
>> > > 880 [128] 9 java/util/GregorianCalendar 0x229d2430
>> > > 64 [32] 1 java/lang/String 0x229d2120
>> > > 16 [16] 0 java/lang/Boolean 0x101eccc0
>> > > 48 [32] 1 java/lang/ref/ReferenceQueue 0x1664db10
>> > > 24 [24] 0 java/lang/Long 0x229d20e8
>> > > 1,095,332,784 [72] 2 org/apache/ojb/broker/util/ReferenceMap
>> > > 0x1664db30
>> > > 4,904 [32] 2 org/apache/ojb/broker/util/ReferenceMap$WeakRef
>> > > 0x60e5c310
>> > > 24 [24] 0 java/lang/Long 0x60e5c360
>> > > 1,095,332,784 [72] 2 org/apache/ojb/broker/util/ReferenceMap
>> > > 0x1664db30
>> > > 38,547,920 [32] 4 org/apache/ojb/broker/util/ReferenceMap$Entry
>> > > 0x659aea38
>> > > 38,543,280 [32] 4 org/apache/ojb/broker/util/ReferenceMap$Entry
>> > > 0x19f95b00
>> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
>> > > 0x65d52218
>> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
>> > > 0x675fd680
>> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
>> > > 0x4a016de8
>> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
>> > > 0x1b3b09c0
>> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
>> > > 0x4384a5e8
>> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
>> > > 0x270b7740
>> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
>> > > 0x1c9d4ed0
>> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
>> > > 0x505d07a0
>> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
>> > > 0x3b8f8f10
>> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
>> > > 0x6916b088
>> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
>> > > 0x3d6fdbd0
>> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
>> > > 0x14a30960
>> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
>> > > 0x5d3cd108
>> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
>> > > 0x13937968
>> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
>> > > 0x1aa7b5f8
>> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
>> > > 0x118db108
>> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
>> > > 0x58115890
>> > > There are 23,094 more children
>> > >
>> > >
>> > > so, some object like
>> 'org/apache/ojb/broker/util/ReferenceMap$Entry',
>> > > 'org/apache/ojb/broker/util/ReferenceMap' ,
>> > > org/apache/ojb/broker/metadata/fieldaccess/AnonymousPersistentField
>> > > objects are consuming
>> > > more than 1 GB (1,095,332,664 bytes) on heap.
>> > >
>> > >
>> > > I need an explanation of this , please. and solution or test to do .
>> > >
>> > > thx in advance.
>> > >
>> > >
>> > >
>> > >
>> >
>> ------------------------------------------------------------------------
>> > >
>> > > <?xml version="1.0" encoding="UTF-8"?>
>> > > <!DOCTYPE descriptor-repository PUBLIC "-//Apache Software
>> > Foundation//DTD OJB Repository//EN"
>> > > "repository.dtd">
>> > > <descriptor-repository version="1.0"
>> > isolation-level="read-uncommitted" proxy-prefetching-limit="50">
>> > > <jdbc-connection-descriptor jcd-alias="default"
>> > default-connection="true" platform="Db2" jdbc-level=" 2.0" driver="
>> > com.p6spy.engine.spy.P6SpyDriver" protocol="jdbc" subprotocol="db2"
>> > dbalias="//localhost/DEV" username="db2admin" password="db2admin">
>> > > <sequence-manager className="
>> > org.apache.ojb.broker.util.sequence.SequenceManagerHighLowImpl">
>> > > <attribute attribute-name="grabSize"
>> > attribute-value="5"/>
>> > > <attribute attribute-name="globalSequenceId"
>> > attribute-value="true"/>
>> > > <attribute attribute-name="globalSequenceStart"
>> > attribute-value="10000"/>
>> > > </sequence-manager>
>> > > </jdbc-connection-descriptor>
>> > >
>> > >
>> > > <!-- OJB INTERNAL MAPPINGS START HERE, DO NOT EDIT -->
>> > > <!--
>> > ************************************************************* -->
>> > > <!-- The OJB HIGH/LOW SequenceManagerTable -->
>> > > <!--
>> > ************************************************************* -->
>> > > <class-descriptor class="
>> > org.apache.ojb.broker.util.sequence.HighLowSequence"
>> table="OJB_HL_SEQ">
>> >
>> > > <object-cache class="
>> > org.apache.ojb.broker.cache.ObjectCacheEmptyImpl"/>
>> > > <field-descriptor name="tableName" column="TABLENAME"
>> > jdbc-type="VARCHAR" primarykey="true"/>
>> > > <field-descriptor name="fieldName" column="FIELDNAME"
>> > jdbc-type="VARCHAR" primarykey="true"/>
>> > > <field-descriptor name="maxKey" column="MAX_KEY"
>> > jdbc-type="BIGINT"/>
>> > > <field-descriptor name="grabSize" column="GRAB_SIZE"
>> > jdbc-type="INTEGER"/>
>> > > <field-descriptor name="version" column="VERSION"
>> > jdbc-type="INTEGER" locking="true"/>
>> > > </class-descriptor>
>> > > <!--
>> > ************************************************************* -->
>> > > <!-- THIS IS THE OJB NAMED ROOTS TABLE, DO NOT EDIT-->
>> > > <!--
>> > ************************************************************* -->
>> > > <class-descriptor class="
>> > org.apache.ojb.odmg.NamedRootsMap$NamedEntry" table="OJB_NRM">
>> > > <field-descriptor name="name" column="NAME"
>> > jdbc-type="VARCHAR" primarykey="true"/>
>> > > <field-descriptor name="oid" column="OID_"
>> > jdbc-type="LONGVARBINARY"/>
>> > > </class-descriptor>
>> > > <!--
>> > ************************************************************* -->
>> > > <!-- THIS IS THE OJB DLIST IMPLEMENTATION, DO NOT EDIT-->
>> > > <!-- alternative implementation of DList -->
>> > > <!--
>> > ************************************************************* -->
>> > > <class-descriptor class="
>> > org.apache.ojb.odmg.collections.DListImpl" table="OJB_DLIST">
>> > > <field-descriptor name="id" column="ID"
>> > jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
>> > > <collection-descriptor name="elements"
>> > element-class-ref="org.apache.ojb.odmg.collections.DListEntry"
>> > auto-retrieve="true" auto-update="none" auto-delete="none">
>> > > <inverse-foreignkey field-ref="dlistId"/>
>> > > </collection-descriptor>
>> > > </class-descriptor>
>> > > <!--
>> > ************************************************************* -->
>> > > <!-- THIS IS THE OJB DLIST ENTRY IMPLEMENTATION, DO NOT EDIT-->
>> > > <!--
>> > ************************************************************* -->
>> > > <class-descriptor class="
>> > org.apache.ojb.odmg.collections.DListEntry" table="OJB_DLIST_ENTRIES">
>> > > <field-descriptor name="id" column="ID"
>> > jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
>> > > <field-descriptor name="dlistId" column="DLIST_ID"
>> > jdbc-type="INTEGER"/>
>> > > <field-descriptor name="position" column="POSITION_"
>> > jdbc-type="INTEGER"/>
>> > > <field-descriptor name="oid" column="OID_"
>> > jdbc-type="LONGVARBINARY" conversion="
>> >
>> org.apache.ojb.broker.accesslayer.conversions.Object2ByteArrFieldConversion"/>
>>
>> >
>> > > </class-descriptor>
>> > > <!--
>> > ************************************************************* -->
>> > > <!-- THIS IS THE OJB DBAG IMPLEMENTATION, DO NOT EDIT-->
>> > > <!--
>> > ************************************************************* -->
>> > > <class-descriptor class="
>> > org.apache.ojb.odmg.collections.DBagImpl" table="OJB_DLIST">
>> > > <field-descriptor name="id" column="ID"
>> > jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
>> > > <collection-descriptor name="elements"
>> > element-class-ref="org.apache.ojb.odmg.collections.DListEntry"
>> > auto-retrieve="true" auto-update="none" auto-delete="none">
>> > > <inverse-foreignkey field-ref="dlistId"/>
>> > > </collection-descriptor>
>> > > </class-descriptor>
>> > > <!--
>> > ************************************************************* -->
>> > > <!-- THIS IS THE OJB DSET IMPLEMENTATION, DO NOT EDIT-->
>> > > <!--
>> > ************************************************************* -->
>> > > <class-descriptor class="
>> > org.apache.ojb.odmg.collections.DSetImpl " table="OJB_DSET">
>> > > <field-descriptor name="id" column="ID"
>> > jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
>> > > <collection-descriptor name="elements"
>> > element-class-ref=" org.apache.ojb.odmg.collections.DSetEntry"
>> > auto-retrieve="true" auto-update="none" auto-delete="none">
>> > > <inverse-foreignkey field-ref="dlistId"/>
>> > > </collection-descriptor>
>> > > </class-descriptor>
>> > > <!--
>> > ************************************************************* -->
>> > > <!-- THIS IS THE OJB DSET ENTRY IMPLEMENTATION, DO NOT EDIT-->
>> > > <!--
>> > ************************************************************* -->
>> > > <class-descriptor class="
>> > org.apache.ojb.odmg.collections.DSetEntry" table="OJB_DSET_ENTRIES">
>> > > <field-descriptor name="id" column="ID"
>> > jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
>> > > <field-descriptor name="dlistId" column="DLIST_ID"
>> > jdbc-type="INTEGER"/>
>> > > <field-descriptor name="position" column="POSITION_"
>> > jdbc-type="INTEGER"/>
>> > > <field-descriptor name="oid" column="OID_"
>> > jdbc-type="LONGVARBINARY" conversion="
>> >
>> org.apache.ojb.broker.accesslayer.conversions.Object2ByteArrFieldConversion
>>
>> > "/>
>> > > </class-descriptor>
>> > > <!--
>> > ************************************************************* -->
>> > > <!-- THIS IS THE OJB DMAP IMPLEMENTATION, DO NOT EDIT-->
>> > > <!--
>> > ************************************************************* -->
>> > > <class-descriptor class="
>> > org.apache.ojb.odmg.collections.DMapImpl " table="OJB_DMAP">
>> > > <field-descriptor name="id" column="ID"
>> > jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
>> > > <collection-descriptor name="entries"
>> > element-class-ref=" org.apache.ojb.odmg.collections.DMapEntry"
>> > collection-class="
>> > org.apache.ojb.broker.util.collections.ManageableHashSet"
>> > auto-retrieve="true" auto-update="none" auto-delete="none">
>> > > <inverse-foreignkey field-ref="dmapId"/>
>> > > </collection-descriptor>
>> > > </class-descriptor>
>> > > <!--
>> > ************************************************************* -->
>> > > <!-- THIS IS THE OJB DMAP ENTRY IMPLEMENTATION, DO NOT EDIT-->
>> > > <!--
>> > ************************************************************* -->
>> > > <class-descriptor class="
>> > org.apache.ojb.odmg.collections.DMapEntry" table="OJB_DMAP_ENTRIES">
>> > > <field-descriptor name="id" column="ID"
>> > jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
>> > > <field-descriptor name="dmapId" column="DMAP_ID"
>> > jdbc-type="INTEGER"/>
>> > > <field-descriptor name="keyOid" column="KEY_OID"
>> > jdbc-type="LONGVARBINARY" conversion="
>> >
>> org.apache.ojb.broker.accesslayer.conversions.Object2ByteArrFieldConversion
>>
>> > "/>
>> > > <field-descriptor name="valueOid" column="VALUE_OID"
>> > jdbc-type="LONGVARBINARY" conversion="
>> >
>> org.apache.ojb.broker.accesslayer.conversions.Object2ByteArrFieldConversion
>>
>> > "/>
>> > > </class-descriptor>
>> > > <!-- END OF OJB INTERNAL MAPPINGS-->
>> > > </descriptor-repository>
>> > >
>> > >
>> > >
>> >
>> ------------------------------------------------------------------------
>> > >
>> > > ---------------------------------------------------------------------
>> > > To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
>> > > For additional commands, e-mail: ojb-user-help@db.apache.org
>> >
>> > ---------------------------------------------------------------------
>> > To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
>> > For additional commands, e-mail: ojb-user-help@db.apache.org
>> >
>> >
>>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org
Re: Crash system - DUMP File generated with OJB
Posted by Marwane <am...@gmail.com>.
if i don't use the anonymous field this will solve the problem ???
On 1/24/07, Marwane <am...@gmail.com> wrote:
>
> Hi,
>
> We don't modify any in ojb source classes , we use the binary ojb from
> apache.
>
> here is our mapping related to classes habilitations :
>
> <!-- ==============================================================
> TABLE HAB_CONNEXION
> =============================================================== -->
> <class-descriptor class="
> com.rmawatanya.convergence.utile.habilitations.Connexion "
> table="HAB_CONNEXION">
> <field-descriptor id="1" name="id" column="ID" jdbc-type="BIGINT"
> nullable="false" primarykey="true" autoincrement="true"/>
> <field-descriptor id="2" name="commentaire" column="COMMENTAIRE"
> jdbc-type="VARCHAR"/>
> <field-descriptor id="3" name="dateConnexion" column="DATECONNEXION"
> jdbc-type="TIMESTAMP" conversion="
> ma.co.omnidata.framework.services.dao.ojb.CalendarToTimeStamp"/>
> <field-descriptor id="4" name="dateDeconnexion" column="DATEDECONNEXION"
> jdbc-type="TIMESTAMP" conversion="
> ma.co.omnidata.framework.services.dao.ojb.CalendarToTimeStamp"/>
> <field-descriptor id="5" name="refUtilisateurIdOjb"
> column="IDUTILISATEUR" jdbc-type="BIGINT" access="anonymous"/>
> <reference-descriptor name="refUtilisateur" class-ref="
> com.rmawatanya.convergence.utile.habilitations.Utilisateur">
> <foreignkey field-ref="refUtilisateurIdOjb"/>
> </reference-descriptor>
> <field-descriptor id="6" name="statut" column="STATUT" jdbc-type="BIT"/>
> <field-descriptor id="7" name="sessionId" column="IDSESSION"
> jdbc-type="VARCHAR"/>
> </class-descriptor>
>
>
>
> <!-- ==============================================================
> TABLE HAB_MOTDEPASSE
> =============================================================== -->
> <class-descriptor class="
> com.rmawatanya.convergence.utile.habilitations.MotdePasse "
> table="HAB_MOTDEPASSE">
> <field-descriptor id="1" name="id" column="ID" jdbc-type="BIGINT"
> nullable="false" primarykey="true" autoincrement="true"/>
> <field-descriptor id="2" name="courant" column="COURANT"
> jdbc-type="BIT"/>
> <field-descriptor id="3" name="dateCreation" column="DATECREATION"
> jdbc-type="TIMESTAMP" conversion="
> ma.co.omnidata.framework.services.dao.ojb.CalendarToTimeStamp"/>
> <field-descriptor id="4" name="realMotdePasse" column="REALMOTDEPASSE"
> jdbc-type="VARCHAR"/>
> <field-descriptor id="5" name="motdePasse" column="MOTDEPASSE"
> jdbc-type="VARCHAR"/>
> <field-descriptor id="6" name="refUtilisateurIdOjb"
> column="IDUTILISATEUR" jdbc-type="BIGINT" access="anonymous" />
> <reference-descriptor name="refUtilisateur" class-ref="
> com.rmawatanya.convergence.utile.habilitations.Utilisateur">
> <foreignkey field-ref="refUtilisateurIdOjb"/>
> </reference-descriptor>
> </class-descriptor>
>
>
> <!-- ==============================================================
> TABLE HAB_PROFIL
> =============================================================== -->
> <class-descriptor class="
> com.rmawatanya.convergence.utile.habilitations.Profil "
> table="HAB_PROFIL">
> <field-descriptor id="1" name="id" column="ID" jdbc-type="BIGINT"
> nullable="false" primarykey="true" autoincrement="true"/>
> <field-descriptor id="2" name="code" column="CODE" jdbc-type="INTEGER"/>
> <field-descriptor id="3" name="dateEffet" column="DATEEFFET"
> jdbc-type="DATE" conversion="
> org.apache.ojb.broker.accesslayer.conversions.Calendar2DateFieldConversion
> "/>
> <field-descriptor id="4" name="dateFin" column="DATEFIN"
> jdbc-type="DATE" conversion="
> org.apache.ojb.broker.accesslayer.conversions.Calendar2DateFieldConversion
> "/>
> <field-descriptor id="5" name="libelleRole" column="LIBELLE"
> jdbc-type="VARCHAR"/>
> <field-descriptor id="6" name="profilStandard" column="PROFILSTANDARD"
> jdbc-type="BIT"/>
> <field-descriptor id="7" name="refSocieteIdOjb" column="IDSOCIETE"
> jdbc-type="BIGINT" access="anonymous"/>
> <reference-descriptor name="refType" class-ref="
> com.rmawatanya.convergence.utile.organisation.Societe">
> <foreignkey field-ref="refSocieteIdOjb"/>
> </reference-descriptor>
> <collection-descriptor name="refUtilisateurs" collection-class="
> org.apache.ojb.broker.util.collections.ManageableArrayList"
> element-class-ref="
> com.rmawatanya.convergence.utile.habilitations.Utilisateur "
> auto-retrieve="true" auto-update="true">
> <inverse-foreignkey field-ref="refProfilIdOjb"/>
> </collection-descriptor>
> <collection-descriptor name="actions" collection-class="
> org.apache.ojb.broker.util.collections.ManageableArrayList"
> element-class-ref="
> com.rmawatanya.convergence.utile.referentiel.Fonctionnalite"
> auto-retrieve="true" auto-update="true"
> indirection-table="HAB_ASSOC_PROFIL_FONCTIONNALITE">
> <fk-pointing-to-this-class column="IDPROFIL"/>
> <fk-pointing-to-element-class column="IDFONCTIONNALITE"/>
> </collection-descriptor>
> </class-descriptor>
>
> <!-- ==============================================================
> TABLE HAB_UTILISATEUR
> =============================================================== -->
> <class-descriptor class="
> com.rmawatanya.convergence.utile.habilitations.Utilisateur "
> table="HAB_UTILISATEUR">
> <field-descriptor id="1" name="id" column="ID" jdbc-type="BIGINT"
> nullable="false" primarykey="true" autoincrement="true" />
> <field-descriptor id="2" name="autoriseTouteAgence"
> column="AUTORISETOUTEAGENCE" jdbc-type="BIT"/>
> <field-descriptor id="3" name="autoriseToutProduit"
> column="AUTORISETOUTPRODUIT" jdbc-type="BIT"/>
> <field-descriptor id="4" name="blocked" column="BLOQUE"
> jdbc-type="BIT"/>
> <field-descriptor id="5" name="changementMotdePassealaConnexion"
> column="CHANGMOTDEPASSEALACONNEXION" jdbc-type="BIT"/>
> <field-descriptor id="6" name="dateDebutAcces" column="DATEDEBUTACCES"
> jdbc-type="DATE" conversion="
> org.apache.ojb.broker.accesslayer.conversions.Calendar2DateFieldConversion"/>
> <field-descriptor id="7" name="dateFinAcces" column="DATEFINACCES"
> jdbc-type="DATE" conversion="
> org.apache.ojb.broker.accesslayer.conversions.Calendar2DateFieldConversion"/>
> <field-descriptor id="8" name="email" column="EMAIL"
> jdbc-type="VARCHAR"/>
> <field-descriptor id="9" name="login" column="LOGIN"
> jdbc-type="VARCHAR"/>
> <field-descriptor id="10" name="nom" column="NOM" jdbc-type="VARCHAR"/>
> <field-descriptor id="11" name="prenom" column="PRENOM"
> jdbc-type="VARCHAR"/>
> <field-descriptor id="12" name="superUtilisateur"
> column="SUPERUTILISATEUR" jdbc-type="BIT"/>
> <field-descriptor id="13" name="telephone" column="TELEPHONE"
> jdbc-type="VARCHAR"/>
> <field-descriptor id="14" name="refEntiteIdOjb" column="IDENTITE"
> jdbc-type="BIGINT" access="anonymous"/>
> <field-descriptor id="15" name="refProfilIdOjb" column="IDPROFIL"
> jdbc-type="BIGINT" access="anonymous"/>
> <reference-descriptor name="refEntiteAppartenance" class-ref="
> com.rmawatanya.convergence.utile.organisation.Entite">
> <foreignkey field-ref="refEntiteIdOjb"/>
> </reference-descriptor>
> <reference-descriptor name="refProfil" class-ref="
> com.rmawatanya.convergence.utile.habilitations.Profil">
> <foreignkey field-ref="refProfilIdOjb"/>
> </reference-descriptor>
> <collection-descriptor name="refMotsdePasse" collection-class="
> org.apache.ojb.broker.util.collections.ManageableArrayList"
> element-class-ref="
> com.rmawatanya.convergence.utile.habilitations.MotdePasse "
> auto-retrieve="true" auto-update="true" orderby="id" sort="DESC" >
> <inverse-foreignkey field-ref="refUtilisateurIdOjb"/>
> </collection-descriptor>
> <collection-descriptor name="refConnexions" collection-class="
> org.apache.ojb.broker.util.collections.ManageableArrayList"
> element-class-ref="
> com.rmawatanya.convergence.utile.habilitations.Connexion "
> auto-retrieve="true" auto-update="true" orderby="id" sort="DESC" >
> <inverse-foreignkey field-ref="refUtilisateurIdOjb"/>
> </collection-descriptor>
> <collection-descriptor name="refProduitsAutorises" collection-class="
> org.apache.ojb.broker.util.collections.ManageableArrayList"
> element-class-ref="
> com.rmawatanya.convergence.application.prd.metier.modele.Produit "
> auto-retrieve="true" auto-update="true"
> indirection-table="HAB_ASSOC_UTILISATEUR_PRODUIT">
> <fk-pointing-to-this-class column="IDUTILISATEUR"/>
> <fk-pointing-to-element-class column="IDPRODUIT"/>
> </collection-descriptor>
> </class-descriptor>
>
>
> On 1/24/07, Armin Waibel <ar...@apache.org> wrote:
> >
> > Hi,
> >
> > I tested the implementation of class ReferenceMap - it works as
> > expected. In class AnonymousPersistentField the persistent object is
> > used as map key, the field value (of the anonymous field) as map value
> > and the ReferenceMap use weak keys and hard values, thus all persistent
> > objects set in class AnonymousPersistentField should be GC (if the
> > persistent object was no longer referenced) - in theory this should
> > work, but it seems this doesn't work for you.
> >
> > Could you please post the mapping of the involved classes MotdePasse and
> > Utilisateur (and of mapped sub/super-classes of these classes if any
> > exist).
> > Do you modify any source classes of OJB related to anonymous fields or
> > references?
> >
> > regards,
> > Armin
> >
> > Marwane wrote:
> > > Hi,
> > > we have a production application on system Windows Server that using :
> >
> > > WebSphere 6.0
> > > OJB version 1.0.3
> > > the application generate a lot of dump file in the system witch cause
> > a
> > > system crash .. in the log i find this :
> > > 1,095,332,808 [24] 2
> > > org/apache/ojb/broker/metadata/fieldaccess/AnonymousPersistentField
> > > 0x11841c40
> > > 1,095,332,784 [72] 2 org/apache/ojb/broker/util/ReferenceMap
> > 0x1664db30
> > > 1,095,332,664 [262,160] 23,114 array of
> > > org/apache/ojb/broker/util/ReferenceMap$Entry 0x71b48528
> > > 38,548,064 [32] 4 org/apache/ojb/broker/util/ReferenceMap$Entry
> > > 0x60e5c2f0
> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> > > 0x229d1fd0
> > > 38,543,048 [32] 2 org/apache/ojb/broker/util/ReferenceMap$WeakRef
> > > 0x229d1ff0
> > > 38,543,016 [40] 4
> > > com/convergence/utile/habilitations/MotdePasse 0x229d20b8
> > > 38,542,032 [120] 14
> > > com/convergence/utile/habilitations/Utilisateur 0x2056fde0
> > > 38,146,872 [64] 6
> > > com/convergence/utile/habilitations/Profil 0x1e806358
> > > 390,528 [24] 1
> > > org/apache/ojb/broker/util/collections/ManageableArrayList 0x29d00308
> > > 3,032 [24] 1
> > > org/apache/ojb/broker/util/collections/ManageableArrayList 0x254d0d38
> > > 880 [128] 9 java/util/GregorianCalendar 0x205702b0
> > > 128 [40] 4 com/convergence/utile/organisation/Entite
> > > 0x21cca310
> > > 88 [32] 1 java/lang/String 0x2056ffa0
> > > 80 [24] 1
> > > org/apache/ojb/broker/util/collections/ManageableArrayList 0x2b1e6ee8
> > > 80 [24] 1 java/util/ArrayList 0x2056fdc8
> > > 64 [32] 1 java/lang/String 0x2056fed8
> > > 56 [32] 1 java/lang/String 0x2056ff10
> > > 56 [32] 1 java/lang/String 0x2056ff48
> > > 48 [32] 1 java/lang/String 0x2056fe98
> > > 16 [16] 0 java/lang/Boolean 0x101eccb0
> > > 16 [16] 0 java/lang/Boolean 0x101eccc0
> > > 880 [128] 9 java/util/GregorianCalendar 0x229d2430
> > > 64 [32] 1 java/lang/String 0x229d2120
> > > 16 [16] 0 java/lang/Boolean 0x101eccc0
> > > 48 [32] 1 java/lang/ref/ReferenceQueue 0x1664db10
> > > 24 [24] 0 java/lang/Long 0x229d20e8
> > > 1,095,332,784 [72] 2 org/apache/ojb/broker/util/ReferenceMap
> > > 0x1664db30
> > > 4,904 [32] 2 org/apache/ojb/broker/util/ReferenceMap$WeakRef
> > > 0x60e5c310
> > > 24 [24] 0 java/lang/Long 0x60e5c360
> > > 1,095,332,784 [72] 2 org/apache/ojb/broker/util/ReferenceMap
> > > 0x1664db30
> > > 38,547,920 [32] 4 org/apache/ojb/broker/util/ReferenceMap$Entry
> > > 0x659aea38
> > > 38,543,280 [32] 4 org/apache/ojb/broker/util/ReferenceMap$Entry
> > > 0x19f95b00
> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> > > 0x65d52218
> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> > > 0x675fd680
> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> > > 0x4a016de8
> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> > > 0x1b3b09c0
> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> > > 0x4384a5e8
> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> > > 0x270b7740
> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> > > 0x1c9d4ed0
> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> > > 0x505d07a0
> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> > > 0x3b8f8f10
> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> > > 0x6916b088
> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> > > 0x3d6fdbd0
> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> > > 0x14a30960
> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> > > 0x5d3cd108
> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> > > 0x13937968
> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> > > 0x1aa7b5f8
> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> > > 0x118db108
> > > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> > > 0x58115890
> > > There are 23,094 more children
> > >
> > >
> > > so, some object like 'org/apache/ojb/broker/util/ReferenceMap$Entry',
> > > 'org/apache/ojb/broker/util/ReferenceMap' ,
> > > org/apache/ojb/broker/metadata/fieldaccess/AnonymousPersistentField
> > > objects are consuming
> > > more than 1 GB (1,095,332,664 bytes) on heap.
> > >
> > >
> > > I need an explanation of this , please. and solution or test to do .
> > >
> > > thx in advance.
> > >
> > >
> > >
> > >
> > ------------------------------------------------------------------------
> > >
> > > <?xml version="1.0" encoding="UTF-8"?>
> > > <!DOCTYPE descriptor-repository PUBLIC "-//Apache Software
> > Foundation//DTD OJB Repository//EN"
> > > "repository.dtd">
> > > <descriptor-repository version="1.0"
> > isolation-level="read-uncommitted" proxy-prefetching-limit="50">
> > > <jdbc-connection-descriptor jcd-alias="default"
> > default-connection="true" platform="Db2" jdbc-level=" 2.0" driver="
> > com.p6spy.engine.spy.P6SpyDriver" protocol="jdbc" subprotocol="db2"
> > dbalias="//localhost/DEV" username="db2admin" password="db2admin">
> > > <sequence-manager className="
> > org.apache.ojb.broker.util.sequence.SequenceManagerHighLowImpl">
> > > <attribute attribute-name="grabSize"
> > attribute-value="5"/>
> > > <attribute attribute-name="globalSequenceId"
> > attribute-value="true"/>
> > > <attribute attribute-name="globalSequenceStart"
> > attribute-value="10000"/>
> > > </sequence-manager>
> > > </jdbc-connection-descriptor>
> > >
> > >
> > > <!-- OJB INTERNAL MAPPINGS START HERE, DO NOT EDIT -->
> > > <!--
> > ************************************************************* -->
> > > <!-- The OJB HIGH/LOW SequenceManagerTable -->
> > > <!--
> > ************************************************************* -->
> > > <class-descriptor class="
> > org.apache.ojb.broker.util.sequence.HighLowSequence" table="OJB_HL_SEQ">
> >
> > > <object-cache class="
> > org.apache.ojb.broker.cache.ObjectCacheEmptyImpl"/>
> > > <field-descriptor name="tableName" column="TABLENAME"
> > jdbc-type="VARCHAR" primarykey="true"/>
> > > <field-descriptor name="fieldName" column="FIELDNAME"
> > jdbc-type="VARCHAR" primarykey="true"/>
> > > <field-descriptor name="maxKey" column="MAX_KEY"
> > jdbc-type="BIGINT"/>
> > > <field-descriptor name="grabSize" column="GRAB_SIZE"
> > jdbc-type="INTEGER"/>
> > > <field-descriptor name="version" column="VERSION"
> > jdbc-type="INTEGER" locking="true"/>
> > > </class-descriptor>
> > > <!--
> > ************************************************************* -->
> > > <!-- THIS IS THE OJB NAMED ROOTS TABLE, DO NOT EDIT-->
> > > <!--
> > ************************************************************* -->
> > > <class-descriptor class="
> > org.apache.ojb.odmg.NamedRootsMap$NamedEntry" table="OJB_NRM">
> > > <field-descriptor name="name" column="NAME"
> > jdbc-type="VARCHAR" primarykey="true"/>
> > > <field-descriptor name="oid" column="OID_"
> > jdbc-type="LONGVARBINARY"/>
> > > </class-descriptor>
> > > <!--
> > ************************************************************* -->
> > > <!-- THIS IS THE OJB DLIST IMPLEMENTATION, DO NOT EDIT-->
> > > <!-- alternative implementation of DList -->
> > > <!--
> > ************************************************************* -->
> > > <class-descriptor class="
> > org.apache.ojb.odmg.collections.DListImpl" table="OJB_DLIST">
> > > <field-descriptor name="id" column="ID"
> > jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
> > > <collection-descriptor name="elements"
> > element-class-ref="org.apache.ojb.odmg.collections.DListEntry"
> > auto-retrieve="true" auto-update="none" auto-delete="none">
> > > <inverse-foreignkey field-ref="dlistId"/>
> > > </collection-descriptor>
> > > </class-descriptor>
> > > <!--
> > ************************************************************* -->
> > > <!-- THIS IS THE OJB DLIST ENTRY IMPLEMENTATION, DO NOT EDIT-->
> > > <!--
> > ************************************************************* -->
> > > <class-descriptor class="
> > org.apache.ojb.odmg.collections.DListEntry" table="OJB_DLIST_ENTRIES">
> > > <field-descriptor name="id" column="ID"
> > jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
> > > <field-descriptor name="dlistId" column="DLIST_ID"
> > jdbc-type="INTEGER"/>
> > > <field-descriptor name="position" column="POSITION_"
> > jdbc-type="INTEGER"/>
> > > <field-descriptor name="oid" column="OID_"
> > jdbc-type="LONGVARBINARY" conversion="
> > org.apache.ojb.broker.accesslayer.conversions.Object2ByteArrFieldConversion"/>
> >
> > > </class-descriptor>
> > > <!--
> > ************************************************************* -->
> > > <!-- THIS IS THE OJB DBAG IMPLEMENTATION, DO NOT EDIT-->
> > > <!--
> > ************************************************************* -->
> > > <class-descriptor class="
> > org.apache.ojb.odmg.collections.DBagImpl" table="OJB_DLIST">
> > > <field-descriptor name="id" column="ID"
> > jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
> > > <collection-descriptor name="elements"
> > element-class-ref="org.apache.ojb.odmg.collections.DListEntry"
> > auto-retrieve="true" auto-update="none" auto-delete="none">
> > > <inverse-foreignkey field-ref="dlistId"/>
> > > </collection-descriptor>
> > > </class-descriptor>
> > > <!--
> > ************************************************************* -->
> > > <!-- THIS IS THE OJB DSET IMPLEMENTATION, DO NOT EDIT-->
> > > <!--
> > ************************************************************* -->
> > > <class-descriptor class="
> > org.apache.ojb.odmg.collections.DSetImpl " table="OJB_DSET">
> > > <field-descriptor name="id" column="ID"
> > jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
> > > <collection-descriptor name="elements"
> > element-class-ref=" org.apache.ojb.odmg.collections.DSetEntry"
> > auto-retrieve="true" auto-update="none" auto-delete="none">
> > > <inverse-foreignkey field-ref="dlistId"/>
> > > </collection-descriptor>
> > > </class-descriptor>
> > > <!--
> > ************************************************************* -->
> > > <!-- THIS IS THE OJB DSET ENTRY IMPLEMENTATION, DO NOT EDIT-->
> > > <!--
> > ************************************************************* -->
> > > <class-descriptor class="
> > org.apache.ojb.odmg.collections.DSetEntry" table="OJB_DSET_ENTRIES">
> > > <field-descriptor name="id" column="ID"
> > jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
> > > <field-descriptor name="dlistId" column="DLIST_ID"
> > jdbc-type="INTEGER"/>
> > > <field-descriptor name="position" column="POSITION_"
> > jdbc-type="INTEGER"/>
> > > <field-descriptor name="oid" column="OID_"
> > jdbc-type="LONGVARBINARY" conversion="
> > org.apache.ojb.broker.accesslayer.conversions.Object2ByteArrFieldConversion
> > "/>
> > > </class-descriptor>
> > > <!--
> > ************************************************************* -->
> > > <!-- THIS IS THE OJB DMAP IMPLEMENTATION, DO NOT EDIT-->
> > > <!--
> > ************************************************************* -->
> > > <class-descriptor class="
> > org.apache.ojb.odmg.collections.DMapImpl " table="OJB_DMAP">
> > > <field-descriptor name="id" column="ID"
> > jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
> > > <collection-descriptor name="entries"
> > element-class-ref=" org.apache.ojb.odmg.collections.DMapEntry"
> > collection-class="
> > org.apache.ojb.broker.util.collections.ManageableHashSet"
> > auto-retrieve="true" auto-update="none" auto-delete="none">
> > > <inverse-foreignkey field-ref="dmapId"/>
> > > </collection-descriptor>
> > > </class-descriptor>
> > > <!--
> > ************************************************************* -->
> > > <!-- THIS IS THE OJB DMAP ENTRY IMPLEMENTATION, DO NOT EDIT-->
> > > <!--
> > ************************************************************* -->
> > > <class-descriptor class="
> > org.apache.ojb.odmg.collections.DMapEntry" table="OJB_DMAP_ENTRIES">
> > > <field-descriptor name="id" column="ID"
> > jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
> > > <field-descriptor name="dmapId" column="DMAP_ID"
> > jdbc-type="INTEGER"/>
> > > <field-descriptor name="keyOid" column="KEY_OID"
> > jdbc-type="LONGVARBINARY" conversion="
> > org.apache.ojb.broker.accesslayer.conversions.Object2ByteArrFieldConversion
> > "/>
> > > <field-descriptor name="valueOid" column="VALUE_OID"
> > jdbc-type="LONGVARBINARY" conversion="
> > org.apache.ojb.broker.accesslayer.conversions.Object2ByteArrFieldConversion
> > "/>
> > > </class-descriptor>
> > > <!-- END OF OJB INTERNAL MAPPINGS-->
> > > </descriptor-repository>
> > >
> > >
> > >
> > ------------------------------------------------------------------------
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> > > For additional commands, e-mail: ojb-user-help@db.apache.org
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> > For additional commands, e-mail: ojb-user-help@db.apache.org
> >
> >
>
Re: Crash system - DUMP File generated with OJB
Posted by Marwane <am...@gmail.com>.
Hi,
We don't modify any in ojb source classes , we use the binary ojb from
apache.
here is our mapping related to classes habilitations :
<!-- ==============================================================
TABLE HAB_CONNEXION
=============================================================== -->
<class-descriptor class="
com.rmawatanya.convergence.utile.habilitations.Connexion"
table="HAB_CONNEXION">
<field-descriptor id="1" name="id" column="ID" jdbc-type="BIGINT"
nullable="false" primarykey="true" autoincrement="true"/>
<field-descriptor id="2" name="commentaire" column="COMMENTAIRE"
jdbc-type="VARCHAR"/>
<field-descriptor id="3" name="dateConnexion" column="DATECONNEXION"
jdbc-type="TIMESTAMP" conversion="
ma.co.omnidata.framework.services.dao.ojb.CalendarToTimeStamp"/>
<field-descriptor id="4" name="dateDeconnexion" column="DATEDECONNEXION"
jdbc-type="TIMESTAMP" conversion="
ma.co.omnidata.framework.services.dao.ojb.CalendarToTimeStamp"/>
<field-descriptor id="5" name="refUtilisateurIdOjb" column="IDUTILISATEUR"
jdbc-type="BIGINT" access="anonymous"/>
<reference-descriptor name="refUtilisateur" class-ref="
com.rmawatanya.convergence.utile.habilitations.Utilisateur">
<foreignkey field-ref="refUtilisateurIdOjb"/>
</reference-descriptor>
<field-descriptor id="6" name="statut" column="STATUT" jdbc-type="BIT"/>
<field-descriptor id="7" name="sessionId" column="IDSESSION"
jdbc-type="VARCHAR"/>
</class-descriptor>
<!-- ==============================================================
TABLE HAB_MOTDEPASSE
=============================================================== -->
<class-descriptor class="
com.rmawatanya.convergence.utile.habilitations.MotdePasse"
table="HAB_MOTDEPASSE">
<field-descriptor id="1" name="id" column="ID" jdbc-type="BIGINT"
nullable="false" primarykey="true" autoincrement="true"/>
<field-descriptor id="2" name="courant" column="COURANT" jdbc-type="BIT"/>
<field-descriptor id="3" name="dateCreation" column="DATECREATION"
jdbc-type="TIMESTAMP" conversion="
ma.co.omnidata.framework.services.dao.ojb.CalendarToTimeStamp"/>
<field-descriptor id="4" name="realMotdePasse" column="REALMOTDEPASSE"
jdbc-type="VARCHAR"/>
<field-descriptor id="5" name="motdePasse" column="MOTDEPASSE"
jdbc-type="VARCHAR"/>
<field-descriptor id="6" name="refUtilisateurIdOjb" column="IDUTILISATEUR"
jdbc-type="BIGINT" access="anonymous" />
<reference-descriptor name="refUtilisateur" class-ref="
com.rmawatanya.convergence.utile.habilitations.Utilisateur">
<foreignkey field-ref="refUtilisateurIdOjb"/>
</reference-descriptor>
</class-descriptor>
<!-- ==============================================================
TABLE HAB_PROFIL
=============================================================== -->
<class-descriptor class="
com.rmawatanya.convergence.utile.habilitations.Profil" table="HAB_PROFIL">
<field-descriptor id="1" name="id" column="ID" jdbc-type="BIGINT"
nullable="false" primarykey="true" autoincrement="true"/>
<field-descriptor id="2" name="code" column="CODE" jdbc-type="INTEGER"/>
<field-descriptor id="3" name="dateEffet" column="DATEEFFET"
jdbc-type="DATE" conversion="
org.apache.ojb.broker.accesslayer.conversions.Calendar2DateFieldConversion
"/>
<field-descriptor id="4" name="dateFin" column="DATEFIN" jdbc-type="DATE"
conversion="
org.apache.ojb.broker.accesslayer.conversions.Calendar2DateFieldConversion
"/>
<field-descriptor id="5" name="libelleRole" column="LIBELLE"
jdbc-type="VARCHAR"/>
<field-descriptor id="6" name="profilStandard" column="PROFILSTANDARD"
jdbc-type="BIT"/>
<field-descriptor id="7" name="refSocieteIdOjb" column="IDSOCIETE"
jdbc-type="BIGINT" access="anonymous"/>
<reference-descriptor name="refType" class-ref="
com.rmawatanya.convergence.utile.organisation.Societe">
<foreignkey field-ref="refSocieteIdOjb"/>
</reference-descriptor>
<collection-descriptor name="refUtilisateurs" collection-class="
org.apache.ojb.broker.util.collections.ManageableArrayList"
element-class-ref="
com.rmawatanya.convergence.utile.habilitations.Utilisateur"
auto-retrieve="true" auto-update="true">
<inverse-foreignkey field-ref="refProfilIdOjb"/>
</collection-descriptor>
<collection-descriptor name="actions" collection-class="
org.apache.ojb.broker.util.collections.ManageableArrayList"
element-class-ref="
com.rmawatanya.convergence.utile.referentiel.Fonctionnalite"
auto-retrieve="true" auto-update="true"
indirection-table="HAB_ASSOC_PROFIL_FONCTIONNALITE">
<fk-pointing-to-this-class column="IDPROFIL"/>
<fk-pointing-to-element-class column="IDFONCTIONNALITE"/>
</collection-descriptor>
</class-descriptor>
<!-- ==============================================================
TABLE HAB_UTILISATEUR
=============================================================== -->
<class-descriptor class="
com.rmawatanya.convergence.utile.habilitations.Utilisateur"
table="HAB_UTILISATEUR">
<field-descriptor id="1" name="id" column="ID" jdbc-type="BIGINT"
nullable="false" primarykey="true" autoincrement="true" />
<field-descriptor id="2" name="autoriseTouteAgence"
column="AUTORISETOUTEAGENCE" jdbc-type="BIT"/>
<field-descriptor id="3" name="autoriseToutProduit"
column="AUTORISETOUTPRODUIT" jdbc-type="BIT"/>
<field-descriptor id="4" name="blocked" column="BLOQUE" jdbc-type="BIT"/>
<field-descriptor id="5" name="changementMotdePassealaConnexion"
column="CHANGMOTDEPASSEALACONNEXION" jdbc-type="BIT"/>
<field-descriptor id="6" name="dateDebutAcces" column="DATEDEBUTACCES"
jdbc-type="DATE" conversion="
org.apache.ojb.broker.accesslayer.conversions.Calendar2DateFieldConversion
"/>
<field-descriptor id="7" name="dateFinAcces" column="DATEFINACCES"
jdbc-type="DATE" conversion="
org.apache.ojb.broker.accesslayer.conversions.Calendar2DateFieldConversion
"/>
<field-descriptor id="8" name="email" column="EMAIL" jdbc-type="VARCHAR"/>
<field-descriptor id="9" name="login" column="LOGIN" jdbc-type="VARCHAR"/>
<field-descriptor id="10" name="nom" column="NOM" jdbc-type="VARCHAR"/>
<field-descriptor id="11" name="prenom" column="PRENOM"
jdbc-type="VARCHAR"/>
<field-descriptor id="12" name="superUtilisateur"
column="SUPERUTILISATEUR" jdbc-type="BIT"/>
<field-descriptor id="13" name="telephone" column="TELEPHONE"
jdbc-type="VARCHAR"/>
<field-descriptor id="14" name="refEntiteIdOjb" column="IDENTITE"
jdbc-type="BIGINT" access="anonymous"/>
<field-descriptor id="15" name="refProfilIdOjb" column="IDPROFIL"
jdbc-type="BIGINT" access="anonymous"/>
<reference-descriptor name="refEntiteAppartenance" class-ref="
com.rmawatanya.convergence.utile.organisation.Entite">
<foreignkey field-ref="refEntiteIdOjb"/>
</reference-descriptor>
<reference-descriptor name="refProfil" class-ref="
com.rmawatanya.convergence.utile.habilitations.Profil">
<foreignkey field-ref="refProfilIdOjb"/>
</reference-descriptor>
<collection-descriptor name="refMotsdePasse" collection-class="
org.apache.ojb.broker.util.collections.ManageableArrayList"
element-class-ref="com.rmawatanya.convergence.utile.habilitations.MotdePasse"
auto-retrieve="true" auto-update="true" orderby="id" sort="DESC" >
<inverse-foreignkey field-ref="refUtilisateurIdOjb"/>
</collection-descriptor>
<collection-descriptor name="refConnexions" collection-class="
org.apache.ojb.broker.util.collections.ManageableArrayList"
element-class-ref="com.rmawatanya.convergence.utile.habilitations.Connexion"
auto-retrieve="true" auto-update="true" orderby="id" sort="DESC" >
<inverse-foreignkey field-ref="refUtilisateurIdOjb"/>
</collection-descriptor>
<collection-descriptor name="refProduitsAutorises" collection-class="
org.apache.ojb.broker.util.collections.ManageableArrayList"
element-class-ref="
com.rmawatanya.convergence.application.prd.metier.modele.Produit"
auto-retrieve="true" auto-update="true"
indirection-table="HAB_ASSOC_UTILISATEUR_PRODUIT">
<fk-pointing-to-this-class column="IDUTILISATEUR"/>
<fk-pointing-to-element-class column="IDPRODUIT"/>
</collection-descriptor>
</class-descriptor>
On 1/24/07, Armin Waibel <ar...@apache.org> wrote:
>
> Hi,
>
> I tested the implementation of class ReferenceMap - it works as
> expected. In class AnonymousPersistentField the persistent object is
> used as map key, the field value (of the anonymous field) as map value
> and the ReferenceMap use weak keys and hard values, thus all persistent
> objects set in class AnonymousPersistentField should be GC (if the
> persistent object was no longer referenced) - in theory this should
> work, but it seems this doesn't work for you.
>
> Could you please post the mapping of the involved classes MotdePasse and
> Utilisateur (and of mapped sub/super-classes of these classes if any
> exist).
> Do you modify any source classes of OJB related to anonymous fields or
> references?
>
> regards,
> Armin
>
> Marwane wrote:
> > Hi,
> > we have a production application on system Windows Server that using :
> > WebSphere 6.0
> > OJB version 1.0.3
> > the application generate a lot of dump file in the system witch cause a
> > system crash .. in the log i find this :
> > 1,095,332,808 [24] 2
> > org/apache/ojb/broker/metadata/fieldaccess/AnonymousPersistentField
> > 0x11841c40
> > 1,095,332,784 [72] 2 org/apache/ojb/broker/util/ReferenceMap 0x1664db30
> > 1,095,332,664 [262,160] 23,114 array of
> > org/apache/ojb/broker/util/ReferenceMap$Entry 0x71b48528
> > 38,548,064 [32] 4 org/apache/ojb/broker/util/ReferenceMap$Entry
> > 0x60e5c2f0
> > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> > 0x229d1fd0
> > 38,543,048 [32] 2 org/apache/ojb/broker/util/ReferenceMap$WeakRef
> > 0x229d1ff0
> > 38,543,016 [40] 4
> > com/convergence/utile/habilitations/MotdePasse 0x229d20b8
> > 38,542,032 [120] 14
> > com/convergence/utile/habilitations/Utilisateur 0x2056fde0
> > 38,146,872 [64] 6
> > com/convergence/utile/habilitations/Profil 0x1e806358
> > 390,528 [24] 1
> > org/apache/ojb/broker/util/collections/ManageableArrayList 0x29d00308
> > 3,032 [24] 1
> > org/apache/ojb/broker/util/collections/ManageableArrayList 0x254d0d38
> > 880 [128] 9 java/util/GregorianCalendar 0x205702b0
> > 128 [40] 4 com/convergence/utile/organisation/Entite
> > 0x21cca310
> > 88 [32] 1 java/lang/String 0x2056ffa0
> > 80 [24] 1
> > org/apache/ojb/broker/util/collections/ManageableArrayList 0x2b1e6ee8
> > 80 [24] 1 java/util/ArrayList 0x2056fdc8
> > 64 [32] 1 java/lang/String 0x2056fed8
> > 56 [32] 1 java/lang/String 0x2056ff10
> > 56 [32] 1 java/lang/String 0x2056ff48
> > 48 [32] 1 java/lang/String 0x2056fe98
> > 16 [16] 0 java/lang/Boolean 0x101eccb0
> > 16 [16] 0 java/lang/Boolean 0x101eccc0
> > 880 [128] 9 java/util/GregorianCalendar 0x229d2430
> > 64 [32] 1 java/lang/String 0x229d2120
> > 16 [16] 0 java/lang/Boolean 0x101eccc0
> > 48 [32] 1 java/lang/ref/ReferenceQueue 0x1664db10
> > 24 [24] 0 java/lang/Long 0x229d20e8
> > 1,095,332,784 [72] 2 org/apache/ojb/broker/util/ReferenceMap
> > 0x1664db30
> > 4,904 [32] 2 org/apache/ojb/broker/util/ReferenceMap$WeakRef
> > 0x60e5c310
> > 24 [24] 0 java/lang/Long 0x60e5c360
> > 1,095,332,784 [72] 2 org/apache/ojb/broker/util/ReferenceMap
> > 0x1664db30
> > 38,547,920 [32] 4 org/apache/ojb/broker/util/ReferenceMap$Entry
> > 0x659aea38
> > 38,543,280 [32] 4 org/apache/ojb/broker/util/ReferenceMap$Entry
> > 0x19f95b00
> > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> > 0x65d52218
> > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> > 0x675fd680
> > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> > 0x4a016de8
> > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> > 0x1b3b09c0
> > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> > 0x4384a5e8
> > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> > 0x270b7740
> > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> > 0x1c9d4ed0
> > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> > 0x505d07a0
> > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> > 0x3b8f8f10
> > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> > 0x6916b088
> > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> > 0x3d6fdbd0
> > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> > 0x14a30960
> > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> > 0x5d3cd108
> > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> > 0x13937968
> > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> > 0x1aa7b5f8
> > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> > 0x118db108
> > 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> > 0x58115890
> > There are 23,094 more children
> >
> >
> > so, some object like 'org/apache/ojb/broker/util/ReferenceMap$Entry',
> > 'org/apache/ojb/broker/util/ReferenceMap' ,
> > org/apache/ojb/broker/metadata/fieldaccess/AnonymousPersistentField
> > objects are consuming
> > more than 1 GB (1,095,332,664 bytes) on heap.
> >
> >
> > I need an explanation of this , please. and solution or test to do .
> >
> > thx in advance.
> >
> >
> >
> > ------------------------------------------------------------------------
> >
> > <?xml version="1.0" encoding="UTF-8"?>
> > <!DOCTYPE descriptor-repository PUBLIC "-//Apache Software
> Foundation//DTD OJB Repository//EN"
> > "repository.dtd">
> > <descriptor-repository version="1.0" isolation-level="read-uncommitted"
> proxy-prefetching-limit="50">
> > <jdbc-connection-descriptor jcd-alias="default"
> default-connection="true" platform="Db2" jdbc-level="2.0" driver="
> com.p6spy.engine.spy.P6SpyDriver" protocol="jdbc" subprotocol="db2"
> dbalias="//localhost/DEV" username="db2admin" password="db2admin">
> > <sequence-manager className="
> org.apache.ojb.broker.util.sequence.SequenceManagerHighLowImpl">
> > <attribute attribute-name="grabSize"
> attribute-value="5"/>
> > <attribute attribute-name="globalSequenceId"
> attribute-value="true"/>
> > <attribute attribute-name="globalSequenceStart"
> attribute-value="10000"/>
> > </sequence-manager>
> > </jdbc-connection-descriptor>
> >
> >
> > <!-- OJB INTERNAL MAPPINGS START HERE, DO NOT EDIT -->
> > <!-- *************************************************************
> -->
> > <!-- The OJB HIGH/LOW SequenceManagerTable -->
> > <!-- *************************************************************
> -->
> > <class-descriptor class="
> org.apache.ojb.broker.util.sequence.HighLowSequence" table="OJB_HL_SEQ">
> > <object-cache class="
> org.apache.ojb.broker.cache.ObjectCacheEmptyImpl"/>
> > <field-descriptor name="tableName" column="TABLENAME"
> jdbc-type="VARCHAR" primarykey="true"/>
> > <field-descriptor name="fieldName" column="FIELDNAME"
> jdbc-type="VARCHAR" primarykey="true"/>
> > <field-descriptor name="maxKey" column="MAX_KEY"
> jdbc-type="BIGINT"/>
> > <field-descriptor name="grabSize" column="GRAB_SIZE"
> jdbc-type="INTEGER"/>
> > <field-descriptor name="version" column="VERSION"
> jdbc-type="INTEGER" locking="true"/>
> > </class-descriptor>
> > <!-- *************************************************************
> -->
> > <!-- THIS IS THE OJB NAMED ROOTS TABLE, DO NOT EDIT-->
> > <!-- *************************************************************
> -->
> > <class-descriptor class="
> org.apache.ojb.odmg.NamedRootsMap$NamedEntry" table="OJB_NRM">
> > <field-descriptor name="name" column="NAME"
> jdbc-type="VARCHAR" primarykey="true"/>
> > <field-descriptor name="oid" column="OID_"
> jdbc-type="LONGVARBINARY"/>
> > </class-descriptor>
> > <!-- *************************************************************
> -->
> > <!-- THIS IS THE OJB DLIST IMPLEMENTATION, DO NOT EDIT-->
> > <!-- alternative implementation of DList -->
> > <!-- *************************************************************
> -->
> > <class-descriptor class="org.apache.ojb.odmg.collections.DListImpl"
> table="OJB_DLIST">
> > <field-descriptor name="id" column="ID"
> jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
> > <collection-descriptor name="elements" element-class-ref="
> org.apache.ojb.odmg.collections.DListEntry" auto-retrieve="true"
> auto-update="none" auto-delete="none">
> > <inverse-foreignkey field-ref="dlistId"/>
> > </collection-descriptor>
> > </class-descriptor>
> > <!-- *************************************************************
> -->
> > <!-- THIS IS THE OJB DLIST ENTRY IMPLEMENTATION, DO NOT EDIT-->
> > <!-- *************************************************************
> -->
> > <class-descriptor class="
> org.apache.ojb.odmg.collections.DListEntry" table="OJB_DLIST_ENTRIES">
> > <field-descriptor name="id" column="ID"
> jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
> > <field-descriptor name="dlistId" column="DLIST_ID"
> jdbc-type="INTEGER"/>
> > <field-descriptor name="position" column="POSITION_"
> jdbc-type="INTEGER"/>
> > <field-descriptor name="oid" column="OID_"
> jdbc-type="LONGVARBINARY" conversion="
> org.apache.ojb.broker.accesslayer.conversions.Object2ByteArrFieldConversion
> "/>
> > </class-descriptor>
> > <!-- *************************************************************
> -->
> > <!-- THIS IS THE OJB DBAG IMPLEMENTATION, DO NOT EDIT-->
> > <!-- *************************************************************
> -->
> > <class-descriptor class="org.apache.ojb.odmg.collections.DBagImpl"
> table="OJB_DLIST">
> > <field-descriptor name="id" column="ID"
> jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
> > <collection-descriptor name="elements" element-class-ref="
> org.apache.ojb.odmg.collections.DListEntry" auto-retrieve="true"
> auto-update="none" auto-delete="none">
> > <inverse-foreignkey field-ref="dlistId"/>
> > </collection-descriptor>
> > </class-descriptor>
> > <!-- *************************************************************
> -->
> > <!-- THIS IS THE OJB DSET IMPLEMENTATION, DO NOT EDIT-->
> > <!-- *************************************************************
> -->
> > <class-descriptor class="org.apache.ojb.odmg.collections.DSetImpl"
> table="OJB_DSET">
> > <field-descriptor name="id" column="ID"
> jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
> > <collection-descriptor name="elements" element-class-ref="
> org.apache.ojb.odmg.collections.DSetEntry" auto-retrieve="true"
> auto-update="none" auto-delete="none">
> > <inverse-foreignkey field-ref="dlistId"/>
> > </collection-descriptor>
> > </class-descriptor>
> > <!-- *************************************************************
> -->
> > <!-- THIS IS THE OJB DSET ENTRY IMPLEMENTATION, DO NOT EDIT-->
> > <!-- *************************************************************
> -->
> > <class-descriptor class="org.apache.ojb.odmg.collections.DSetEntry"
> table="OJB_DSET_ENTRIES">
> > <field-descriptor name="id" column="ID"
> jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
> > <field-descriptor name="dlistId" column="DLIST_ID"
> jdbc-type="INTEGER"/>
> > <field-descriptor name="position" column="POSITION_"
> jdbc-type="INTEGER"/>
> > <field-descriptor name="oid" column="OID_"
> jdbc-type="LONGVARBINARY" conversion="
> org.apache.ojb.broker.accesslayer.conversions.Object2ByteArrFieldConversion
> "/>
> > </class-descriptor>
> > <!-- *************************************************************
> -->
> > <!-- THIS IS THE OJB DMAP IMPLEMENTATION, DO NOT EDIT-->
> > <!-- *************************************************************
> -->
> > <class-descriptor class="org.apache.ojb.odmg.collections.DMapImpl"
> table="OJB_DMAP">
> > <field-descriptor name="id" column="ID"
> jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
> > <collection-descriptor name="entries" element-class-ref="
> org.apache.ojb.odmg.collections.DMapEntry" collection-class="
> org.apache.ojb.broker.util.collections.ManageableHashSet"
> auto-retrieve="true" auto-update="none" auto-delete="none">
> > <inverse-foreignkey field-ref="dmapId"/>
> > </collection-descriptor>
> > </class-descriptor>
> > <!-- *************************************************************
> -->
> > <!-- THIS IS THE OJB DMAP ENTRY IMPLEMENTATION, DO NOT EDIT-->
> > <!-- *************************************************************
> -->
> > <class-descriptor class="org.apache.ojb.odmg.collections.DMapEntry"
> table="OJB_DMAP_ENTRIES">
> > <field-descriptor name="id" column="ID"
> jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
> > <field-descriptor name="dmapId" column="DMAP_ID"
> jdbc-type="INTEGER"/>
> > <field-descriptor name="keyOid" column="KEY_OID"
> jdbc-type="LONGVARBINARY" conversion="
> org.apache.ojb.broker.accesslayer.conversions.Object2ByteArrFieldConversion
> "/>
> > <field-descriptor name="valueOid" column="VALUE_OID"
> jdbc-type="LONGVARBINARY" conversion="
> org.apache.ojb.broker.accesslayer.conversions.Object2ByteArrFieldConversion
> "/>
> > </class-descriptor>
> > <!-- END OF OJB INTERNAL MAPPINGS-->
> > </descriptor-repository>
> >
> >
> > ------------------------------------------------------------------------
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> > For additional commands, e-mail: ojb-user-help@db.apache.org
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
>
>
Re: Crash system - DUMP File generated with OJB
Posted by Armin Waibel <ar...@apache.org>.
Hi,
I tested the implementation of class ReferenceMap - it works as
expected. In class AnonymousPersistentField the persistent object is
used as map key, the field value (of the anonymous field) as map value
and the ReferenceMap use weak keys and hard values, thus all persistent
objects set in class AnonymousPersistentField should be GC (if the
persistent object was no longer referenced) - in theory this should
work, but it seems this doesn't work for you.
Could you please post the mapping of the involved classes MotdePasse and
Utilisateur (and of mapped sub/super-classes of these classes if any
exist).
Do you modify any source classes of OJB related to anonymous fields or
references?
regards,
Armin
Marwane wrote:
> Hi,
> we have a production application on system Windows Server that using :
> WebSphere 6.0
> OJB version 1.0.3
> the application generate a lot of dump file in the system witch cause a
> system crash .. in the log i find this :
> 1,095,332,808 [24] 2
> org/apache/ojb/broker/metadata/fieldaccess/AnonymousPersistentField
> 0x11841c40
> 1,095,332,784 [72] 2 org/apache/ojb/broker/util/ReferenceMap 0x1664db30
> 1,095,332,664 [262,160] 23,114 array of
> org/apache/ojb/broker/util/ReferenceMap$Entry 0x71b48528
> 38,548,064 [32] 4 org/apache/ojb/broker/util/ReferenceMap$Entry
> 0x60e5c2f0
> 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> 0x229d1fd0
> 38,543,048 [32] 2 org/apache/ojb/broker/util/ReferenceMap$WeakRef
> 0x229d1ff0
> 38,543,016 [40] 4
> com/convergence/utile/habilitations/MotdePasse 0x229d20b8
> 38,542,032 [120] 14
> com/convergence/utile/habilitations/Utilisateur 0x2056fde0
> 38,146,872 [64] 6
> com/convergence/utile/habilitations/Profil 0x1e806358
> 390,528 [24] 1
> org/apache/ojb/broker/util/collections/ManageableArrayList 0x29d00308
> 3,032 [24] 1
> org/apache/ojb/broker/util/collections/ManageableArrayList 0x254d0d38
> 880 [128] 9 java/util/GregorianCalendar 0x205702b0
> 128 [40] 4 com/convergence/utile/organisation/Entite
> 0x21cca310
> 88 [32] 1 java/lang/String 0x2056ffa0
> 80 [24] 1
> org/apache/ojb/broker/util/collections/ManageableArrayList 0x2b1e6ee8
> 80 [24] 1 java/util/ArrayList 0x2056fdc8
> 64 [32] 1 java/lang/String 0x2056fed8
> 56 [32] 1 java/lang/String 0x2056ff10
> 56 [32] 1 java/lang/String 0x2056ff48
> 48 [32] 1 java/lang/String 0x2056fe98
> 16 [16] 0 java/lang/Boolean 0x101eccb0
> 16 [16] 0 java/lang/Boolean 0x101eccc0
> 880 [128] 9 java/util/GregorianCalendar 0x229d2430
> 64 [32] 1 java/lang/String 0x229d2120
> 16 [16] 0 java/lang/Boolean 0x101eccc0
> 48 [32] 1 java/lang/ref/ReferenceQueue 0x1664db10
> 24 [24] 0 java/lang/Long 0x229d20e8
> 1,095,332,784 [72] 2 org/apache/ojb/broker/util/ReferenceMap
> 0x1664db30
> 4,904 [32] 2 org/apache/ojb/broker/util/ReferenceMap$WeakRef
> 0x60e5c310
> 24 [24] 0 java/lang/Long 0x60e5c360
> 1,095,332,784 [72] 2 org/apache/ojb/broker/util/ReferenceMap
> 0x1664db30
> 38,547,920 [32] 4 org/apache/ojb/broker/util/ReferenceMap$Entry
> 0x659aea38
> 38,543,280 [32] 4 org/apache/ojb/broker/util/ReferenceMap$Entry
> 0x19f95b00
> 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> 0x65d52218
> 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> 0x675fd680
> 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> 0x4a016de8
> 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> 0x1b3b09c0
> 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> 0x4384a5e8
> 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> 0x270b7740
> 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> 0x1c9d4ed0
> 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> 0x505d07a0
> 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> 0x3b8f8f10
> 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> 0x6916b088
> 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> 0x3d6fdbd0
> 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> 0x14a30960
> 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> 0x5d3cd108
> 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> 0x13937968
> 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> 0x1aa7b5f8
> 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> 0x118db108
> 38,543,104 [32] 3 org/apache/ojb/broker/util/ReferenceMap$Entry
> 0x58115890
> There are 23,094 more children
>
>
> so, some object like 'org/apache/ojb/broker/util/ReferenceMap$Entry',
> 'org/apache/ojb/broker/util/ReferenceMap' ,
> org/apache/ojb/broker/metadata/fieldaccess/AnonymousPersistentField
> objects are consuming
> more than 1 GB (1,095,332,664 bytes) on heap.
>
>
> I need an explanation of this , please. and solution or test to do .
>
> thx in advance.
>
>
>
> ------------------------------------------------------------------------
>
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE descriptor-repository PUBLIC "-//Apache Software Foundation//DTD OJB Repository//EN"
> "repository.dtd">
> <descriptor-repository version="1.0" isolation-level="read-uncommitted" proxy-prefetching-limit="50">
> <jdbc-connection-descriptor jcd-alias="default" default-connection="true" platform="Db2" jdbc-level="2.0" driver="com.p6spy.engine.spy.P6SpyDriver" protocol="jdbc" subprotocol="db2" dbalias="//localhost/DEV" username="db2admin" password="db2admin">
> <sequence-manager className="org.apache.ojb.broker.util.sequence.SequenceManagerHighLowImpl">
> <attribute attribute-name="grabSize" attribute-value="5"/>
> <attribute attribute-name="globalSequenceId" attribute-value="true"/>
> <attribute attribute-name="globalSequenceStart" attribute-value="10000"/>
> </sequence-manager>
> </jdbc-connection-descriptor>
>
>
> <!-- OJB INTERNAL MAPPINGS START HERE, DO NOT EDIT -->
> <!-- ************************************************************* -->
> <!-- The OJB HIGH/LOW SequenceManagerTable -->
> <!-- ************************************************************* -->
> <class-descriptor class="org.apache.ojb.broker.util.sequence.HighLowSequence" table="OJB_HL_SEQ">
> <object-cache class="org.apache.ojb.broker.cache.ObjectCacheEmptyImpl"/>
> <field-descriptor name="tableName" column="TABLENAME" jdbc-type="VARCHAR" primarykey="true"/>
> <field-descriptor name="fieldName" column="FIELDNAME" jdbc-type="VARCHAR" primarykey="true"/>
> <field-descriptor name="maxKey" column="MAX_KEY" jdbc-type="BIGINT"/>
> <field-descriptor name="grabSize" column="GRAB_SIZE" jdbc-type="INTEGER"/>
> <field-descriptor name="version" column="VERSION" jdbc-type="INTEGER" locking="true"/>
> </class-descriptor>
> <!-- ************************************************************* -->
> <!-- THIS IS THE OJB NAMED ROOTS TABLE, DO NOT EDIT-->
> <!-- ************************************************************* -->
> <class-descriptor class="org.apache.ojb.odmg.NamedRootsMap$NamedEntry" table="OJB_NRM">
> <field-descriptor name="name" column="NAME" jdbc-type="VARCHAR" primarykey="true"/>
> <field-descriptor name="oid" column="OID_" jdbc-type="LONGVARBINARY"/>
> </class-descriptor>
> <!-- ************************************************************* -->
> <!-- THIS IS THE OJB DLIST IMPLEMENTATION, DO NOT EDIT-->
> <!-- alternative implementation of DList -->
> <!-- ************************************************************* -->
> <class-descriptor class="org.apache.ojb.odmg.collections.DListImpl" table="OJB_DLIST">
> <field-descriptor name="id" column="ID" jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
> <collection-descriptor name="elements" element-class-ref="org.apache.ojb.odmg.collections.DListEntry" auto-retrieve="true" auto-update="none" auto-delete="none">
> <inverse-foreignkey field-ref="dlistId"/>
> </collection-descriptor>
> </class-descriptor>
> <!-- ************************************************************* -->
> <!-- THIS IS THE OJB DLIST ENTRY IMPLEMENTATION, DO NOT EDIT-->
> <!-- ************************************************************* -->
> <class-descriptor class="org.apache.ojb.odmg.collections.DListEntry" table="OJB_DLIST_ENTRIES">
> <field-descriptor name="id" column="ID" jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
> <field-descriptor name="dlistId" column="DLIST_ID" jdbc-type="INTEGER"/>
> <field-descriptor name="position" column="POSITION_" jdbc-type="INTEGER"/>
> <field-descriptor name="oid" column="OID_" jdbc-type="LONGVARBINARY" conversion="org.apache.ojb.broker.accesslayer.conversions.Object2ByteArrFieldConversion"/>
> </class-descriptor>
> <!-- ************************************************************* -->
> <!-- THIS IS THE OJB DBAG IMPLEMENTATION, DO NOT EDIT-->
> <!-- ************************************************************* -->
> <class-descriptor class="org.apache.ojb.odmg.collections.DBagImpl" table="OJB_DLIST">
> <field-descriptor name="id" column="ID" jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
> <collection-descriptor name="elements" element-class-ref="org.apache.ojb.odmg.collections.DListEntry" auto-retrieve="true" auto-update="none" auto-delete="none">
> <inverse-foreignkey field-ref="dlistId"/>
> </collection-descriptor>
> </class-descriptor>
> <!-- ************************************************************* -->
> <!-- THIS IS THE OJB DSET IMPLEMENTATION, DO NOT EDIT-->
> <!-- ************************************************************* -->
> <class-descriptor class="org.apache.ojb.odmg.collections.DSetImpl" table="OJB_DSET">
> <field-descriptor name="id" column="ID" jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
> <collection-descriptor name="elements" element-class-ref="org.apache.ojb.odmg.collections.DSetEntry" auto-retrieve="true" auto-update="none" auto-delete="none">
> <inverse-foreignkey field-ref="dlistId"/>
> </collection-descriptor>
> </class-descriptor>
> <!-- ************************************************************* -->
> <!-- THIS IS THE OJB DSET ENTRY IMPLEMENTATION, DO NOT EDIT-->
> <!-- ************************************************************* -->
> <class-descriptor class="org.apache.ojb.odmg.collections.DSetEntry" table="OJB_DSET_ENTRIES">
> <field-descriptor name="id" column="ID" jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
> <field-descriptor name="dlistId" column="DLIST_ID" jdbc-type="INTEGER"/>
> <field-descriptor name="position" column="POSITION_" jdbc-type="INTEGER"/>
> <field-descriptor name="oid" column="OID_" jdbc-type="LONGVARBINARY" conversion="org.apache.ojb.broker.accesslayer.conversions.Object2ByteArrFieldConversion"/>
> </class-descriptor>
> <!-- ************************************************************* -->
> <!-- THIS IS THE OJB DMAP IMPLEMENTATION, DO NOT EDIT-->
> <!-- ************************************************************* -->
> <class-descriptor class="org.apache.ojb.odmg.collections.DMapImpl" table="OJB_DMAP">
> <field-descriptor name="id" column="ID" jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
> <collection-descriptor name="entries" element-class-ref="org.apache.ojb.odmg.collections.DMapEntry" collection-class="org.apache.ojb.broker.util.collections.ManageableHashSet" auto-retrieve="true" auto-update="none" auto-delete="none">
> <inverse-foreignkey field-ref="dmapId"/>
> </collection-descriptor>
> </class-descriptor>
> <!-- ************************************************************* -->
> <!-- THIS IS THE OJB DMAP ENTRY IMPLEMENTATION, DO NOT EDIT-->
> <!-- ************************************************************* -->
> <class-descriptor class="org.apache.ojb.odmg.collections.DMapEntry" table="OJB_DMAP_ENTRIES">
> <field-descriptor name="id" column="ID" jdbc-type="INTEGER" primarykey="true" autoincrement="true"/>
> <field-descriptor name="dmapId" column="DMAP_ID" jdbc-type="INTEGER"/>
> <field-descriptor name="keyOid" column="KEY_OID" jdbc-type="LONGVARBINARY" conversion="org.apache.ojb.broker.accesslayer.conversions.Object2ByteArrFieldConversion"/>
> <field-descriptor name="valueOid" column="VALUE_OID" jdbc-type="LONGVARBINARY" conversion="org.apache.ojb.broker.accesslayer.conversions.Object2ByteArrFieldConversion"/>
> </class-descriptor>
> <!-- END OF OJB INTERNAL MAPPINGS-->
> </descriptor-repository>
>
>
> ------------------------------------------------------------------------
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org