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
