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