Re: Crash system - DUMP File generated with OJB

Armin Waibel <[email protected]>
Newsgroups gmane.comp.jakarta.ojb.user
Message-ID <[email protected]>
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 <[email protected]> wrote:
>>
>> you don't have another solution please , beacause i have  a lot anonymous
>> field about 150 fields !!!!!
>>
>>
>>
>>
>> On 1/24/07, Armin Waibel <[email protected]> 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 <[email protected]> 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 <[email protected]> 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: [email protected]
>> > >> > > For additional commands, e-mail: [email protected]
>> > >> >
>> > >> >
>> > ---------------------------------------------------------------------
>> > >> > To unsubscribe, e-mail: [email protected]
>> > >> > For additional commands, e-mail: [email protected]
>> > >> >
>> > >> >
>> > >>
>> > >
>> >
>> > ---------------------------------------------------------------------
>> > To unsubscribe, e-mail: [email protected]
>> > For additional commands, e-mail: [email protected]
>> >
>> >
>>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.