Exists some circustantes that results in infinite loop due to use of EmptyCache with 
two way navigable references. Are you using this? If yes, try to set a <object-cache> 
in the recerenced bean with a very low time-out (let's say, 1 sec). It solved almost 
vast majority of my cases.

Best regards,

Edson Richter

  ----- Original Message ----- 
  From: Clay Mitchell 
  To: OJB Users List 
  Sent: Saturday, February 07, 2004 2:16 PM
  Subject: Help, I'm stuck and I can't get out! (Infinite Loop)


  I seem to have gotten myself stuck in a infinite loop here...

  Any idea what it's doing and why?

  Thanks
  -Clay

  [org.apache.ojb.broker.core.QueryReferenceBroker] DEBUG: 
  getCollectionByQuery (class 
  org.apache.ojb.broker.util.collections.RemovalAwareCollection, class 
  com.exigentic.onyx.ProductType, Query from class 
  com.exigentic.onyx.ProductType where [id IN [79, 28, 112]])
  [org.apache.ojb.broker.accesslayer.sql.SqlQueryStatement$TableAlias] 
  DEBUG: TableAlias(): using hints ? false

  [org.apache.ojb.broker.core.QueryReferenceBroker] DEBUG: 
  getCollectionByQuery (class 
  org.apache.ojb.broker.util.collections.RemovalAwareCollection, class 
  com.exigentic.onyx.Specification, Query from class 
  com.exigentic.onyx.Specification where [id IN [79, 28, 112]])
  [org.apache.ojb.broker.accesslayer.sql.SqlQueryStatement$TableAlias] 
  DEBUG: TableAlias(): using hints ? false

  [org.apache.ojb.broker.core.QueryReferenceBroker] DEBUG: 
  getCollectionByQuery (class 
  org.apache.ojb.broker.util.collections.RemovalAwareCollection, class 
  com.exigentic.onyx.Product, Query from class com.exigentic.onyx.Product 
  where [id IN [79, 28, 112]])
  [org.apache.ojb.broker.accesslayer.sql.SqlQueryStatement$TableAlias] 
  DEBUG: TableAlias(): using hints ? false

  [org.apache.ojb.broker.core.QueryReferenceBroker] DEBUG: 
  getCollectionByQuery (class 
  org.apache.ojb.broker.util.collections.RemovalAwareCollection, class 
  com.exigentic.onyx.SpecType, Query from class 
  com.exigentic.onyx.SpecType where [id IN [79, 28, 112]])
  [org.apache.ojb.broker.accesslayer.sql.SqlQueryStatement$TableAlias] 
  DEBUG: TableAlias(): using hints ? false

  [org.apache.ojb.broker.core.QueryReferenceBroker] DEBUG: 
  getCollectionByQuery (class 
  org.apache.ojb.broker.util.collections.RemovalAwareCollection, class 
  com.exigentic.onyx.Specification, Query from class 
  com.exigentic.onyx.Specification where [specId = 28])
  [org.apache.ojb.broker.accesslayer.sql.SqlQueryStatement$TableAlias] 
  DEBUG: TableAlias(): using hints ? false


  ###### Here's my repository:

  <?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">
  <jdbc-connection-descriptor jcd-alias="default" 
  default-connection="true" platform="PostgreSQL" jdbc-level="3.0" 
  driver="org.postgresql.Driver" protocol="jdbc" subprotocol="postgresql" 
  dbalias="//192.168.1.101:5432/onyx" username="postgres" 
  password="t30a6az8z" eager-release="false" batch-mode="false" 
  useAutoCommit="1" ignoreAutoCommitExceptions="false">
  <connection-pool maxActive="21" validationQuery=""/>
  <sequence-manager 
  className="org.apache.ojb.broker.util.sequence.SequenceManagerNextValImpl">
  <attribute attribute-name="autoNaming" attribute-value="true"/>
  </sequence-manager>
  </jdbc-connection-descriptor>
  <class-descriptor class="com.exigentic.onyx.Account" table="ACCOUNT">
  <field-descriptor name="id" primarykey="true" default-fetch="true" 
  autoincrement="true" sequence-name="account_seq'::text" 
  column="ACCOUNT_ID" jdbc-type="INTEGER"/>
  <field-descriptor name="email" nullable="false" default-fetch="true" 
  column="EMAIL" jdbc-type="VARCHAR"/>
  <field-descriptor name="password" nullable="false" 
  default-fetch="true" column="PASSWORD" jdbc-type="VARCHAR"/>
  <field-descriptor name="firstName" nullable="false" 
  default-fetch="true" column="NAME_FIRST" jdbc-type="VARCHAR"/>
  <field-descriptor name="lastName" nullable="false" 
  default-fetch="true" column="NAME_LAST" jdbc-type="VARCHAR"/>
  <field-descriptor name="company" default-fetch="true" column="COMPANY" 
  jdbc-type="VARCHAR"/>
  <field-descriptor name="phone" nullable="false" default-fetch="true" 
  column="PHONE" jdbc-type="VARCHAR"/>
  <field-descriptor name="fax" default-fetch="true" column="FAX" 
  jdbc-type="VARCHAR"/>
  <field-descriptor name="addr1" nullable="false" default-fetch="true" 
  column="ADDR_1" jdbc-type="VARCHAR"/>
  <field-descriptor name="addr2" default-fetch="true" column="ADDR_2" 
  jdbc-type="VARCHAR"/>
  <field-descriptor name="city" nullable="false" default-fetch="true" 
  column="CITY" jdbc-type="VARCHAR"/>
  <field-descriptor name="state" nullable="false" default-fetch="true" 
  column="STATE" jdbc-type="VARCHAR"/>
  <field-descriptor name="country" nullable="false" default-fetch="true" 
  column="COUNTRY" jdbc-type="VARCHAR"/>
  <field-descriptor name="zip" nullable="false" default-fetch="true" 
  column="ZIP" jdbc-type="VARCHAR"/>
  <field-descriptor name="security" nullable="false" 
  default-fetch="true" column="SECURITY" jdbc-type="INTEGER"/>
  <field-descriptor name="sourceDate" nullable="false" 
  default-fetch="true" column="SOURCE_DATE" jdbc-type="TIMESTAMP" 
  
conversion="org.apache.ojb.broker.accesslayer.conversions.JavaDate2SqlTimestampFieldConversion"/>
  </class-descriptor>

  <class-descriptor class="com.exigentic.onyx.Option" table="OPTION">
  <field-descriptor name="id" primarykey="true" default-fetch="true" 
  autoincrement="true" sequence-name="option_seq'::text" 
  column="OPTION_ID" jdbc-type="INTEGER"/>
  <field-descriptor name="productId" nullable="false" 
  default-fetch="true" column="PRODUCT_ID" jdbc-type="INTEGER"/>
  <field-descriptor name="childId" nullable="false" default-fetch="true" 
  column="PRODUCT_OPTION" jdbc-type="INTEGER"/>
  </class-descriptor>

  <class-descriptor class="com.exigentic.onyx.Product" table="PRODUCT">
  <field-descriptor name="id" primarykey="true" default-fetch="true" 
  autoincrement="true" sequence-name="product_seq'::text" 
  column="PRODUCT_ID" jdbc-type="INTEGER"/>
  <field-descriptor name="typeId" nullable="false" default-fetch="true" 
  autoincrement="true" sequence-name="type_seq'::text" column="TYPE_ID" 
  jdbc-type="INTEGER"/>
  <field-descriptor name="code" nullable="false" default-fetch="true" 
  column="CODE" jdbc-type="VARCHAR"/>
  <field-descriptor name="name" nullable="false" default-fetch="true" 
  column="NAME" jdbc-type="VARCHAR"/>
  <field-descriptor name="descr" nullable="false" default-fetch="true" 
  column="DESCR" jdbc-type="VARCHAR"/>
  <field-descriptor name="option" nullable="false" default-fetch="true" 
  column="OPTION" jdbc-type="CHAR"/>
  <field-descriptor name="distributor" nullable="false" 
  default-fetch="true" column="DISTRIBUTOR" jdbc-type="CHAR"/>
  <field-descriptor name="distPrice" default-fetch="true" 
  column="DIST_PRICE" jdbc-type="DOUBLE"/>
  <field-descriptor name="listPrice" default-fetch="true" 
  column="LIST_PRICE" jdbc-type="DOUBLE"/>
  <field-descriptor name="highlight" default-fetch="true" 
  column="HIGHLIGHT" jdbc-type="CHAR"/>
  <reference-descriptor name="productType" 
  class-ref="com.exigentic.onyx.ProductType" auto-update="false" 
  auto-delete="false">
  <foreignkey field-ref="id"/>
  </reference-descriptor>
  <collection-descriptor name="specs" 
  element-class-ref="com.exigentic.onyx.Specification" auto-update="false" 
  auto-delete="false">
  <inverse-foreignkey field-ref="id"/>
  </collection-descriptor>
  </class-descriptor>

  <class-descriptor class="com.exigentic.onyx.Image" table="PRODUCT_IMAGE">
  <field-descriptor name="id" primarykey="true" default-fetch="true" 
  autoincrement="true" sequence-name="image_seq'::text" column="IMAGE_ID" 
  jdbc-type="INTEGER"/>
  <field-descriptor name="productId" default-fetch="true" 
  column="PRODUCT_ID" jdbc-type="INTEGER"/>
  <field-descriptor name="image" nullable="false" default-fetch="true" 
  column="IMAGE" jdbc-type="VARCHAR"/>
  <field-descriptor name="defaultImage" nullable="false" 
  default-fetch="true" column="DEFAULT_IMAGE" jdbc-type="CHAR"/>
  </class-descriptor>

  <class-descriptor class="com.exigentic.onyx.Specification" 
  table="PRODUCT_SPECIFICATION">
  <field-descriptor name="id" primarykey="true" default-fetch="true" 
  autoincrement="true" sequence-name="spec_seq'::text" column="SPEC_ID" 
  jdbc-type="INTEGER"/>
  <field-descriptor name="productId" primarykey="true" 
  default-fetch="true" column="PRODUCT_ID" jdbc-type="INTEGER"/>
  <field-descriptor name="specId" primarykey="true" default-fetch="true" 
  column="SPECIFICATION_ID" jdbc-type="INTEGER"/>
  <field-descriptor name="value" nullable="false" default-fetch="true" 
  column="VALUE" jdbc-type="VARCHAR"/>
  <reference-descriptor name="product" 
  class-ref="com.exigentic.onyx.Product" auto-update="false" 
  auto-delete="false">
  <foreignkey field-ref="id"/>
  </reference-descriptor>
  <reference-descriptor name="specType" 
  class-ref="com.exigentic.onyx.SpecType" auto-update="false" 
  auto-delete="false">
  <foreignkey field-ref="id"/>
  </reference-descriptor>
  </class-descriptor>

  <class-descriptor class="com.exigentic.onyx.ProductType" 
  table="PRODUCT_TYPE">
  <field-descriptor name="id" primarykey="true" default-fetch="true" 
  autoincrement="true" sequence-name="type_seq'::text" column="TYPE_ID" 
  jdbc-type="INTEGER"/>
  <field-descriptor name="name" nullable="false" default-fetch="true" 
  column="NAME" jdbc-type="VARCHAR"/>
  <field-descriptor name="descr" default-fetch="true" column="DESCR" 
  jdbc-type="VARCHAR"/>
  <collection-descriptor name="productList" 
  element-class-ref="com.exigentic.onyx.Product" auto-update="false" 
  auto-delete="false">
  <inverse-foreignkey field-ref="typeId"/>
  </collection-descriptor>
  </class-descriptor>

  <class-descriptor class="com.exigentic.onyx.SpecType" 
  table="SPECIFICATION_TYPE">
  <field-descriptor name="id" primarykey="true" default-fetch="true" 
  autoincrement="true" sequence-name="specification_seq'::text" 
  column="SPECIFICATION_ID" jdbc-type="INTEGER"/>
  <field-descriptor name="name" nullable="false" default-fetch="true" 
  column="NAME" jdbc-type="VARCHAR"/>
  <field-descriptor name="descr" default-fetch="true" column="DESCR" 
  jdbc-type="VARCHAR"/>
  <collection-descriptor name="specs" 
  element-class-ref="com.exigentic.onyx.Specification" auto-update="false" 
  auto-delete="false">
  <inverse-foreignkey field-ref="specId"/>
  </collection-descriptor>
  </class-descriptor>
  </descriptor-repository>


  ---------------------------------------------------------------------
  To unsubscribe, e-mail: [EMAIL PROTECTED]
  For additional commands, e-mail: [EMAIL PROTECTED]



  ---
  Outgoing mail is certified Virus Free.
  Checked by AVG anti-virus system (http://www.grisoft.com).
  Version: 6.0.577 / Virus Database: 366 - Release Date: 3/2/2004

Reply via email to