EXCEPTION [TOPLINK-108]

Hi,
Did anyone run into this exception? I am getting
EXCEPTION [TOPLINK-108] (TopLink (WLS CMP) - 9.0.3 (Build 423)): oracle.top
link.exceptions.DescriptorException
EXCEPTION DESCRIPTION: Cannot find value in class indicator mapping in pare
nt descriptor [Descriptor(com.hbo.slmk.sams.element.SmMktgElement --> [Data
baseTable(SM_MKTG_ELEMENT)])].
DESCRIPTOR: Descriptor(com.hbo.slmk.sams.element.SmWebsite --> [DatabaseTab
le(SM_MKTG_ELEMENT), DatabaseTable(SM_WEBSITE)])
when deploying to WebLogic Server 7.0 SP1. The troubleshooting guide says:
Error code: 108
VALUE_NOT_FOUND_IN_CLASS_INDICATOR_MAPPING
Cause: The indicator value is not found in the class indicator mapping in the parent descriptor for the class.
Action: Check addClassIndicator(Class childClass, Object typeValue) on the inheritance policy.
But the inheritance policy in project java source looks ok.
public Descriptor buildSmMktgElementDescriptor() {
     Descriptor descriptor = new Descriptor();
     descriptor.setJavaClass(com.hbo.slmk.sams.element.SmMktgElement.class);
     descriptor.addTableName("SM_MKTG_ELEMENT");
     descriptor.addPrimaryKeyFieldName("SM_MKTG_ELEMENT.MKTG_ELEMENT_TKEY");
     // Inheritance properties.
     descriptor.getInheritancePolicy().addClassIndicator(com.hbo.slmk.sams.element.SmWebsite.class, "SmWebsite");
Would appreciate any suggestions to identify what is causing the exception.
Thanks,
Suhrob     

I included just a section of the code. Here is the inheritance policy in its entirety. I am getting error 108 for each of the subclasses.
Thanks,
Suhrob
public Descriptor buildSmMktgElementDescriptor() {
     Descriptor descriptor = new Descriptor();
     descriptor.setJavaClass(com.hbo.slmk.sams.element.SmMktgElement.class);
     descriptor.addTableName("SM_MKTG_ELEMENT");
     descriptor.addPrimaryKeyFieldName("SM_MKTG_ELEMENT.MKTG_ELEMENT_TKEY");
     // Inheritance properties.
     descriptor.getInheritancePolicy().setClassIndicatorFieldName("SM_MKTG_ELEMENT.ELEMENT_CLASS_NAME");
     descriptor.getInheritancePolicy().addClassIndicator(com.hbo.slmk.sams.element.SmListElement.class, "SmListElement");
     descriptor.getInheritancePolicy().addClassIndicator(com.hbo.slmk.sams.element.SmDateElement.class, "SmDateElement");
     descriptor.getInheritancePolicy().addClassIndicator(com.hbo.slmk.sams.element.SmOrganization.class, "SmOrganization");
     descriptor.getInheritancePolicy().addClassIndicator(com.hbo.slmk.sams.element.SmIndicia.class, "SmIndicia");
     descriptor.getInheritancePolicy().addClassIndicator(com.hbo.slmk.sams.element.SmTextElement.class, "SmTextElement");
     descriptor.getInheritancePolicy().addClassIndicator(com.hbo.slmk.sams.element.SmWebsite.class, "SmWebsite");
     descriptor.getInheritancePolicy().addClassIndicator(com.hbo.slmk.sams.element.SmSalesPhoneListElement.class, "SmSalesPhoneListElement");
     descriptor.getInheritancePolicy().addClassIndicator(com.hbo.slmk.sams.element.SmContact.class, "SmContact");
     descriptor.getInheritancePolicy().addClassIndicator(com.hbo.slmk.sams.element.SmAddress.class, "SmAddress");
     // Descriptor properties.
     descriptor.useSoftCacheWeakIdentityMap();
     descriptor.setIdentityMapSize(100);
     descriptor.useRemoteSoftCacheWeakIdentityMap();
     descriptor.setRemoteIdentityMapSize(100);
     descriptor.setAlias("SmMktgElement");
     

Similar Messages

  • Exception [TOPLINK-4002]

    Hi,I have no idea,help.thanks
    javax.ejb.EJBException: nested exception is: java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
         java.rmi.RemoteException: null; nested exception is:
         Exception [TOPLINK-4002] (Oracle TopLink Essentials - 2.0 (Build b40-rc (03/20/2007))): oracle.toplink.essentials.exceptions.DatabaseException
    Internal Exception: java.sql.SQLException: Error in allocating a connection. Cause: Connection could not be allocated because: java.net.ConnectException: Error Code: 0
    java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
         java.rmi.RemoteException: null; nested exception is:
         Exception [TOPLINK-4002] (Oracle TopLink Essentials - 2.0 (Build b40-rc (03/20/2007))): oracle.toplink.essentials.exceptions.DatabaseException
    Internal Exception: java.sql.SQLException: Error in allocating a connection. Cause: Connection could not be allocated because: java.net.ConnectException:Connection refused: connect。
    Error Code: 0
         at com.sun.corba.ee.impl.javax.rmi.CORBA.Util.mapSystemException(Util.java:191)
         at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:176)
         at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.invoke(StubInvocationHandlerImpl.java:123)
         at com.sun.corba.ee.impl.presentation.rmi.bcel.BCELStubBase.invoke(BCELStubBase.java:196)
         at org.acrowise.RCP.__SessionEJB_Remote_DynamicStub.getEmail(__SessionEJB_Remote_DynamicStub.java)
         at org.acrowise.RCP._SessionEJB_Wrapper.getEmail(org.acrowise.RCP._SessionEJB_Wrapper.java)
         at org.acrowise.client.testClient.main(testClient.java:21)
    Caused by: java.rmi.RemoteException: null; nested exception is:
         Exception [TOPLINK-4002] (Oracle TopLink Essentials - 2.0 (Build b40-rc (03/20/2007))): oracle.toplink.essentials.exceptions.DatabaseException
    Internal Exception: java.sql.SQLException: Error in allocating a connection. Cause: Connection could not be allocated because: java.net.ConnectException: Connection refused: connect。
    Error Code: 0
         at com.sun.enterprise.iiop.POAProtocolMgr.mapException(POAProtocolMgr.java:237)
         at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1337)
         at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1267)
         at com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:197)
         at com.sun.ejb.containers.EJBObjectInvocationHandlerDelegate.invoke(EJBObjectInvocationHandlerDelegate.java:104)
         at $Proxy82.getEmail(Unknown Source)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke(ReflectiveTie.java:125)
         at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:658)
         at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:198)
         at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1821)
         at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1681)
         at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:1063)
         at com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:179)
         at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:781)
         at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.dispatch(CorbaMessageMediatorImpl.java:538)
         at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.doWork(CorbaMessageMediatorImpl.java:2542)
         at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:502)
    Caused by: Exception [TOPLINK-4002] (Oracle TopLink Essentials - 2.0 (Build b40-rc (03/20/2007))): oracle.toplink.essentials.exceptions.DatabaseException
    Internal Exception: java.sql.SQLException: Error in allocating a connection. Cause: Connection could not be allocated because: java.net.ConnectException: Connection refused: connect。
    Error Code: 0
         at oracle.toplink.essentials.exceptions.DatabaseException.sqlException(DatabaseException.java:290)
         at oracle.toplink.essentials.jndi.JNDIConnector.connect(JNDIConnector.java:135)
         at oracle.toplink.essentials.sessions.DatasourceLogin.connectToDatasource(DatasourceLogin.java:170)
         at oracle.toplink.essentials.internal.sessions.DatabaseSessionImpl.loginAndDetectDatasource(DatabaseSessionImpl.java:537)
         at oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider.login(EntityManagerFactoryProvider.java:206)
         at oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:212)
         at oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerFactoryImpl.getServerSession(EntityManagerFactoryImpl.java:78)
         at oracle.toplink.essentials.internal.ejb.cmp3.base.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:111)
         at oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:84)
         at com.sun.enterprise.util.EntityManagerWrapper._getDelegate(EntityManagerWrapper.java:335)
         at com.sun.enterprise.util.EntityManagerWrapper.createNamedQuery(EntityManagerWrapper.java:733)
         at org.acrowise.RCP.SessionEJBBean.getEmail(SessionEJBBean.java:98)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at com.sun.enterprise.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1055)
         at com.sun.enterprise.security.SecurityUtil.invoke(SecurityUtil.java:163)
         at com.sun.ejb.containers.BaseContainer.invokeTargetBeanMethod(BaseContainer.java:2846)
         at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:3930)
         at com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:190)
         ... 17 more
    Caused by: java.sql.SQLException: Error in allocating a connection. Cause: Connection could not be allocated because: java.net.ConnectException: Connection refused: connect。
         at com.sun.gjc.spi.base.DataSource.getConnection(DataSource.java:102)
         at oracle.toplink.essentials.jndi.JNDIConnector.connect(JNDIConnector.java:130)
         ... 36 more
    javax.ejb.EJBException: nested exception is: java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
         java.rmi.RemoteException: null; nested exception is:
         Exception [TOPLINK-4002] (Oracle TopLink Essentials - 2.0 (Build b40-rc (03/20/2007))): oracle.toplink.essentials.exceptions.DatabaseException
    Internal Exception: java.sql.SQLException: Error in allocating a connection. Cause: Connection could not be allocated because: java.net.ConnectException Connection refused: connect。
    Error Code: 0
         at org.acrowise.RCP._SessionEJB_Wrapper.getEmail(org.acrowise.RCP._SessionEJB_Wrapper.java)
         at org.acrowise.client.testClient.main(testClient.java:21)

    TopLink Essentials is attempting to connect to a data source within your container and failing. Does the data source name provided in your persistence.xml match what is configured in the container?
    Doug

  • While scheduling I am getting the Exception [TOPLINK-4002] Error

    Dear All,
    While scheduling I am getting the following Error
    Exception [TOPLINK-4002] (Oracle TopLink - 10g Release 3 (10.1.3.0.0) (Build 060118)): oracle.toplink.exceptions.DatabaseException Internal Exception: java.sql.SQLException: No more data to read from socketError Code: 17410 Call:UPDATE SEQUENCE SET SEQ_COUNT = SEQ_COUNT + 1 WHERE SEQ_NAME = 'SUBSCRIPTION_ID_SEQ' Query:DataModifyQuery()
    Error Detail
    I am Using BI Publisher 10.1.3.3.1

    Yes, Please I need your support
    I have this issue related to this subject.
    But I have two databases Oracle 10g release 2 and the toplink have thi url jdbc
    jdbc:oracle:thin:@
    (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.33.12.38)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.33.12.39)(PORT = 1521))
    (LOAD_BALANCE = yes)
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = MITDB)
    (FAILOVER_MODE =(TYPE = SELECT)(METHOD = BASIC)(RETRIES = 180)(DELAY = 5))
    for connecting two databases, now when i try to submit button this message was thrown, i need to apply RAC
    [TopLink Warning]: 2008.03.24 06:56:40.101--ClientSession(27665811)--Exception [TOPLINK-4002] (Oracle TopLink - 10g Release 3 (10.1.3.0.0) (Build 060118)): oracle.toplink.exceptions.DatabaseException
    Internal Exception: java.sql.SQLException: No more data to read from socketError Code: 17410
    Call:UPDATE SEQUENCE SET SEQ_COUNT = SEQ_COUNT + 1 WHERE SEQ_NAME = 'IND_REG_REQ_SEQ'
    Query:DataModifyQuery()
    [TopLink Warning]: 2008.03.24 06:56:40.101--ClientSession(27665811)--Exception [TOPLINK-4002] (Oracle TopLink - 10g Release 3 (10.1.3.0.0) (Build 060118)): oracle.toplink.exceptions.DatabaseException
    Internal Exception: java.sql.SQLException: OALL8 is in an inconsistent state.Error Code: 0
    Call:SELECT SEQ_COUNT FROM SEQUENCE WHERE SEQ_NAME = 'IND_REG_REQ_SEQ'
    Query:ValueReadQuery()
    [TopLink Warning]: 2008.03.24 06:56:40.101--ClientSession(27665811)--Exception [TOPLINK-4011] (Oracle TopLink - 10g Release 3 (10.1.3.0.0) (Build 060118)): oracle.toplink.exceptions.DatabaseException
    Exception Description: Error preallocating sequence numbers. The sequence table information is not complete.
    [TopLink Warning]: 2008.03.24 06:56:40.101--ClientSession(27665811)--Exception [TOPLINK-4002] (Oracle TopLink - 10g Release 3 (10.1.3.0.0) (Build 060118)): oracle.toplink.exceptions.DatabaseException
    Internal Exception: java.sql.SQLException: Io exception: Software caused connection abort: socket write errorError Code: 17002
    Call:UPDATE SEQUENCE SET SEQ_COUNT = SEQ_COUNT + 1 WHERE SEQ_NAME = 'MITREQUEST_SEQ'
    Query:DataModifyQuery()
    [TopLink Warning]: 2008.03.24 06:56:40.101--ClientSession(27665811)--Exception [TOPLINK-4002] (Oracle TopLink - 10g Release 3 (10.1.3.0.0) (Build 060118)): oracle.toplink.exceptions.DatabaseException
    Internal Exception: java.sql.SQLException: Closed ConnectionError Code: 17008
    Call:SELECT SEQ_COUNT FROM SEQUENCE WHERE SEQ_NAME = 'MITREQUEST_SEQ'
    Query:ValueReadQuery()
    [TopLink Warning]: 2008.03.24 06:56:40.101--ClientSession(27665811)--Exception [TOPLINK-4011] (Oracle TopLink - 10g Release 3 (10.1.3.0.0) (Build 060118)): oracle.toplink.exceptions.DatabaseException
    Exception Description: Error preallocating sequence numbers. The sequence table information is not complete.
    [TopLink Warning]: 2008.03.24 06:56:40.101--ClientSession(27665811)--Exception [TOPLINK-4002] (Oracle TopLink - 10g Release 3 (10.1.3.0.0) (Build 060118)): oracle.toplink.exceptions.DatabaseException
    Internal Exception: java.sql.SQLException: Closed ConnectionError Code: 17008
    Message was edited by:
    Mohammed Amr.

  • Exception [TOPLINK-6029] after upgrading from version 9.0.4.5 to 10.1.3.0.0

    In our project, we have made an upgrade to TopLink version 10.1.3.0.0. After replacing as much as possible deprecated Classes/methods, we get TopLink Exceptions when accessing attributes which are mapped via indirection. When TopLink tries to retrieve the reference records from the database, a [TOPLINK-6029] exception occurs. We do not execute a query with "readObject" but we only acces the attribute which is mapped via indirection.
    Exception-Stack:
    Exception [TOPLINK-6029] (Oracle TopLink - 10g Release 3 (10.1.3.0.0) (Build 060118)): oracle.toplink.exceptions.QueryException
    Exception-Beschreibung: Eine Referenzklasse muss angegeben werden.
    Abfrage: ReadObjectQuery()
         at oracle.toplink.exceptions.QueryException.referenceClassMissing(QueryException.java:858)
         at oracle.toplink.queryframework.ReadObjectQuery.checkDescriptor(ReadObjectQuery.java:198)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.checkPrePrepare(ObjectLevelReadQuery.java:562)
         at oracle.toplink.queryframework.ObjectLevelReadQuery.isLockQuery(ObjectLevelReadQuery.java:1407)
         at oracle.toplink.internal.remote.RemoteValueHolder.isPessimisticLockingValueHolder(RemoteValueHolder.java:192)
         at oracle.toplink.internal.indirection.UnitOfWorkValueHolder.instantiateImpl(UnitOfWorkValueHolder.java:133)
         at oracle.toplink.internal.indirection.UnitOfWorkValueHolder.instantiate(UnitOfWorkValueHolder.java:217)
         at oracle.toplink.internal.indirection.DatabaseValueHolder.getValue(DatabaseValueHolder.java:61)
         at oracle.toplink.indirection.IndirectList.buildDelegate(IndirectList.java:184)
         at oracle.toplink.indirection.IndirectList.getDelegate(IndirectList.java:307)
         at oracle.toplink.indirection.IndirectList.toArray(IndirectList.java:646)
         at java.util.Collections.sort(Collections.java:158)
    With TopLink versio 9.0.4.5 everything works correctly.
    What could be the cause of this problem and what can we do to correct it.
    Regards,
    Hans.

    Hello James,
    Thanks for the quick answer!
    I have tested our program with the new TopLink version without making any change in the code, so definitely there a change in the behaviour in both TopLink versions. I have added the code where the descriptor and the onetomany mapping is created. I think the descriptor is ok, but the problem could have to do with the fact that in our program the business object is already registered in a unit of work.
    When I debug the situation in Eclipse and expand the IndirectList first on the original and afterwards on the clone, no exception occurs. When I directly expand the IndirectList in the clone the excpetion comes.
    // Descriptor creation
    private static Descriptor buildRentFunctionDescriptor()
    Descriptor desc = DescriptorLib.makeListDescriptor(RentFunction.class, RFU_TAB, RFU_TAB_KEY, RFU_PREFIX);
    DescriptorLib.addDirectToFieldMapping(desc, PropM.RentFun.KEY, RFU_TAB_KEY);
    DescriptorLib.addDirectToFieldMapping(desc, PropM.RentFun.NAME, RFU_TAB_NAME);
    DescriptorLib.addDirectToFieldMapping(desc, PropM.RentFun.ORDER, RFU_TAB_ORDER);
    DescriptorLib.addDirectToFieldMapping(desc, PropM.RentFun.RENT, RFU_TAB_RENT);
    DescriptorLib.addDirectToFieldMapping(desc, PropM.RentFun.ATYPE, RFU_TAB_ATYPE);
    DescriptorLib.addOneToManyMapping(desc, PropM.RentFun.HRENT, HistRent.class, HRE_TAB_LINK, true, true);
    DescriptorLib.addOneToOneMapping(desc, PropM.RentFun.PER, Period.class, RFU_TAB_PER, false, false);
    DescriptorLib.addOneToOneMapping(desc, PropM.RentFun.LEV, LocationLevel.class, RFU_TAB_LEV, false, false);
    DescriptorLib.addOneToOneMapping(desc, PropM.RentFun.ACC, Account.class, RFU_TAB_ACC, false, false);
    return desc;
    //Mapping creation
    public static OneToManyMapping addOneToManyMapping(Descriptor descriptor,
    String attributeName,
    Class referenceClass,
    String targetForeignKey,
    boolean useIndirection,
    boolean enableCascadingDelete)
    OneToManyMapping mapping = new OneToManyMapping();
    mapping.setAttributeName(attributeName);
    mapping.setReferenceClass(referenceClass);
    mapping.setTargetForeignKeyFieldName(targetForeignKey);
    if (useIndirection)
    mapping.useTransparentCollection();
    mapping.useCollectionClass(IndirectList.class);
    else
    mapping.dontUseIndirection();
    if (enableCascadingDelete)
    mapping.privateOwnedRelationship();
    descriptor.addMapping(mapping);
    return mapping;
    Maybe you could give some tips about how to deal with registering the business object in the unit of work in combination with attributes that use indirection.
    Regards,
    Hans
    Message was edited by:
    lammers1

  • EXCEPTION [TOPLINK-7056] The wrong object was registered into the UnitOfWor

    Hello,
    I am using Toplink 9.0.3.4. I have a one to many relationship defined. One DTOStep can have several DTOStepTexte. The XML descriptions for the relationship are:
    DTOStep:
                        <database-mapping>
                             <attribute-name>texteList</attribute-name>
                             <read-only>false</read-only>
                             <reference-class>com.bnpparibas.bfi.ttk.dto.DTOStepTexte</reference-class>
                             <is-private-owned>true</is-private-owned>
                             <uses-batch-reading>true</uses-batch-reading>
                             <indirection-policy>
                                  <mapping-indirection-policy>
                                       <type>oracle.toplink.internal.indirection.NoIndirectionPolicy</type>
                                  </mapping-indirection-policy>
                             </indirection-policy>
                             <container-policy>
                                  <mapping-container-policy>
                                       <container-class>java.util.ArrayList</container-class>
                                       <type>oracle.toplink.internal.queryframework.ListContainerPolicy</type>
                                  </mapping-container-policy>
                             </container-policy>
                             <ascending-order-by-query-key>noSeq</ascending-order-by-query-key>
                             <source-key-fields>
                                  <field>BATCH_SP2.ID_BATCH</field>
                             </source-key-fields>
                             <target-foreign-key-fields>
                                  <field>BATCH_SP2_TEXTE.ID_BATCH</field>
                             </target-foreign-key-fields>
                             <type>oracle.toplink.mappings.OneToManyMapping</type>
                        </database-mapping>
    DTOStepTexte:
                        <database-mapping>
                             <attribute-name>step</attribute-name>
                             <read-only>false</read-only>
                             <reference-class>com.bnpparibas.bfi.ttk.dto.DTOStep</reference-class>
                             <is-private-owned>true</is-private-owned>
                             <uses-batch-reading>true</uses-batch-reading>
                             <indirection-policy>
                                  <mapping-indirection-policy>
                                       <type>oracle.toplink.internal.indirection.NoIndirectionPolicy</type>
                                  </mapping-indirection-policy>
                             </indirection-policy>
                             <uses-joining>true</uses-joining>
                             <foreign-key-fields>
                                  <field>BATCH_SP2_TEXTE.ID_BATCH</field>
                             </foreign-key-fields>
                             <source-to-target-key-field-associations>
                                  <association>
                                       <association-key>BATCH_SP2_TEXTE.ID_BATCH</association-key>
                                       <association-value>BATCH_SP2.ID_BATCH</association-value>
                                  </association>
                             </source-to-target-key-field-associations>
                             <type>oracle.toplink.mappings.OneToOneMapping</type>
                        </database-mapping>
    I do the following:
    - A DTOStep containing 4 DTOStepTexte is read from the Oracle database in a session bean and sent to a swing client.
    - The DTOStep is modified on the client.
    - The modified DTOStep is sent back to the session bean where the following code is executed:
    public DTOStep modifyStep(DTOStep step) throws TTKDataNotFoundException
    Session session = null;
    try
         // Récupération de la session.
         session = getSession();
         // Récupération de l'unité de travail.
         UnitOfWork uow = session.getActiveUnitOfWork();
         uow.performFullValidation();
         // Vérification que le step existe. Lecture sur clé primaire.
         if (!session.doesObjectExist(step))
         throw new TTKDataNotFoundException();
         // Registration du step à modifier en incorporant les modifs utilisateur.
         m_logger.debug("step = " + FmkCommonUtilities.toStringFromGetters(step));
         DTOStep stepClone = (DTOStep) uow.mergeCloneWithReferences(step);
         m_logger.debug("stepClone = " + FmkCommonUtilities.toStringFromGetters(stepClone));
         // Mise à jour des champs techniques.
         Date date = new Date(System.currentTimeMillis());
         stepClone.setCUtiMaj(getCUti());
         stepClone.setDMaj(date);
         // Renvoi du step tel que dans la base.
         // Une copie en est faite puisque le clone ne doit pas être
         // utilisé en dehors de la transaction.
         DTOUtilities.setFromGetters(stepClone, step);
         return step;
    catch (TTKDataNotFoundException e)
    context.setRollbackOnly();
    throw e;
    catch (EJBException e)
    context.setRollbackOnly();
    throw e;
    catch (Throwable t)
    context.setRollbackOnly();
    m_logger.error("Error in " + FmkCommonUtilities.getCurrentMethodName(), t);
    throw new EJBException(t.toString());
    finally
    // On libère la session.
    if (session != null)
    session.release();
    I have the folowing behaviour:
    - if the list of DTOStepTexte is not modified, everything is ok.
    - if a new DTOStepTexte is added, everything is ok.
    - if a DTOStepTexte is removed, I have the following exception on the mergeCloneWithReferences() call:
    EXCEPTION [TOPLINK-7056] (TopLink - 9.0.3.4 (Build 432)): oracle.toplink.exceptions.ValidationException
    EXCEPTION DESCRIPTION: The wrong object was registered into the UnitOfWork. The object [com.bnpparibas.bfi.ttk.dto.DTOStep@1a772d] should be the object from the parent cache [com.bnpparibas.bfi.ttk.dto.DTOStep@2cfd62].
         at oracle.toplink.exceptions.ValidationException.wrongObjectRegistered(Unknown Source)
         at oracle.toplink.publicinterface.UnitOfWork.checkExistence(Unknown Source)
         at oracle.toplink.publicinterface.UnitOfWork.internalRegisterObject(Unknown Source)
         at oracle.toplink.internal.sessions.MergeManager.getTargetVersionOfSourceObject(Unknown Source)
         at oracle.toplink.mappings.ObjectReferenceMapping.mergeIntoObject(Unknown Source)
         at oracle.toplink.internal.descriptors.ObjectBuilder.mergeIntoObject(Unknown Source)
         at oracle.toplink.internal.sessions.MergeManager.mergeChangesOfCloneIntoWorkingCopy(Unknown Source)
         at oracle.toplink.internal.sessions.MergeManager.mergeChanges(Unknown Source)
         at oracle.toplink.mappings.CollectionMapping.mergeIntoObject(Unknown Source)
         at oracle.toplink.internal.descriptors.ObjectBuilder.mergeIntoObject(Unknown Source)
         at oracle.toplink.internal.sessions.MergeManager.mergeChangesOfCloneIntoWorkingCopy(Unknown Source)
         at oracle.toplink.internal.sessions.MergeManager.mergeChanges(Unknown Source)
         at oracle.toplink.publicinterface.UnitOfWork.mergeCloneWithReferences(Unknown Source)
         at com.bnpparibas.bfi.ttk.server.ejb.TestToplinkServiceBean.modifyStep(TestToplinkServiceBean.java:795)
         at TestToplinkService_StatelessSessionBeanWrapper2.modifyStep(TestToplinkService_StatelessSessionBeanWrapper2.java:2032)
         at java.lang.reflect.Method.invoke(Native Method)
         at com.evermind.server.rmi.RMICallHandler.run(RMICallHandler.java:119)
         at com.evermind.server.rmi.RMICallHandler.run(RMICallHandler.java:48)
         at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:803)
         at java.lang.Thread.run(Thread.java:479)
    Can someone please tell me what is wrong in the way I use toplink ?
    Thank you in advance for your answer.
    Best regards.
    Pierre Laroche

    What does the method DTOUtilities.setFromGetters(stepClone, step); do? If you are copying from step into stepClone you must ensure that all of the references from step are registered first. You should not need to perform this copy anyway as the mergeCloneWithReferences would have copied the data from step.
    --Gordon                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • Exception [TOPLINK-46] (OracleAS TopLink - 10g (9.0.4) (Build 031126))

    Hi,
    I am using TopLink for simple Department-Employee relation, i have my project xml configured, But i am facing the problem with following exception
    Descriptor Exceptions:
    Exception [TOPLINK-46] (OracleAS TopLink - 10g (9.0.4) (Build 031126)): oracle.toplink.exceptions.DescriptorException
    Exception Description: There should be one non-read-only mapping defined for the primary key field [emp.empno].
    Descriptor: Descriptor(com.oracle.mssql.emp.toplink.EmpTopLinkBean --> [DatabaseTable(emp)])
    Runtime Exceptions:
    What could be the reason?
    Thanks
    Madhu

    My best guess would be that you have a 1:1 mapping from Employee to Department. This mapping represents part of the primary key.
    Make sure that your 1:1 mapping is not configured as read-only. Another issue is that you may have set the relationship as target foreign key. This has the same effect as read-only and is not applicable in the 1:1 returning from a 1:M.
    Doug

  • Exception [TOPLINK-4002] : A lock could not be obtained within the time req

    Hi,
    i am using Toplink bundled with Netbeans 5.5.1.
    I have 2 projects : one with common objects and one with business objects. When a business session bean calls a common session bean in order to create and persist a common object used in business part, we have the following errors :
    Exception [TOPLINK-4002] (Oracle TopLink Essentials - 2.0 (Build b41-beta2 (03/30/2007))): oracle.toplink.essentials.exceptions.DatabaseException
    Internal Exception: java.sql.SQLException: A lock could not be obtained within the time requested
    Error Code: -1
    Call: SELECT ID FROM IMAGESOWNER WHERE (ID = ?)
    bind => [2]
    Query: DoesExistQuery()
    at oracle.toplink.essentials.exceptions.DatabaseException.sqlException(DatabaseException.java:304)
    at oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:551)
    at oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:437)
    at oracle.toplink.essentials.threetier.ServerSession.executeCall(ServerSession.java:465)
    at oracle.toplink.essentials.internal.queryframework.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:213)
    at oracle.toplink.essentials.internal.queryframework.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:199)
    at oracle.toplink.essentials.internal.queryframework.DatasourceCallQueryMechanism.selectRowForDoesExist(DatasourceCallQueryMechanism.java:642)
    at oracle.toplink.essentials.queryframework.DoesExistQuery.executeDatabaseQuery(DoesExistQuery.java:243)
    at oracle.toplink.essentials.queryframework.DatabaseQuery.execute(DatabaseQuery.java:609)
    at oracle.toplink.essentials.queryframework.DatabaseQuery.executeInUnitOfWork(DatabaseQuery.java:536)
    at oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2219)
    at oracle.toplink.essentials.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:937)
    at oracle.toplink.essentials.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:894)
    at oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.checkForUnregisteredExistingObject(UnitOfWorkImpl.java:516)
    at oracle.toplink.essentials.internal.ejb.cmp3.base.RepeatableWriteUnitOfWork$1.iterate(RepeatableWriteUnitOfWork.java:123)
    at oracle.toplink.essentials.internal.descriptors.DescriptorIterator.internalIterateReferenceObject(DescriptorIterator.java:174)
    at oracle.toplink.essentials.internal.descriptors.DescriptorIterator.iterateReferenceObjectForMapping(DescriptorIterator.java:281)
    at oracle.toplink.essentials.mappings.ObjectReferenceMapping.iterateOnRealAttributeValue(ObjectReferenceMapping.java:254)
    at oracle.toplink.essentials.internal.indirection.IndirectionPolicy.iterateOnAttributeValue(IndirectionPolicy.java:207)
    at oracle.toplink.essentials.mappings.ForeignReferenceMapping.iterate(ForeignReferenceMapping.java:571)
    at oracle.toplink.essentials.internal.descriptors.ObjectBuilder.iterate(ObjectBuilder.java:2061)
    at oracle.toplink.essentials.internal.descriptors.DescriptorIterator.iterateReferenceObjects(DescriptorIterator.java:296)
    at oracle.toplink.essentials.internal.descriptors.DescriptorIterator.startIterationOn(DescriptorIterator.java:469)
    at oracle.toplink.essentials.internal.ejb.cmp3.base.RepeatableWriteUnitOfWork.discoverUnregisteredNewObjects(RepeatableWriteUnitOfWork.java:145)
    at oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.discoverAllUnregisteredNewObjects(UnitOfWorkImpl.java:1278)
    at oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.assignSequenceNumbers(UnitOfWorkImpl.java:368)
    at oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.collectAndPrepareObjectsForCommit(UnitOfWorkImpl.java:707)
    at oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.commitToDatabaseWithChangeSet(UnitOfWorkImpl.java:1098)
    at oracle.toplink.essentials.internal.sessions.UnitOfWorkImpl.issueSQLbeforeCompletion(UnitOfWorkImpl.java:2429)
    at oracle.toplink.essentials.internal.ejb.cmp3.base.RepeatableWriteUnitOfWork.issueSQLbeforeCompletion(RepeatableWriteUnitOfWork.java:186)
    at oracle.toplink.essentials.transaction.AbstractSynchronizationListener.beforeCompletion(AbstractSynchronizationListener.java:116)
    at oracle.toplink.essentials.transaction.JTASynchronizationListener.beforeCompletion(JTASynchronizationListener.java:76)
    at com.sun.enterprise.distributedtx.J2EETransaction.commit(J2EETransaction.java:406)
    at com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.commit(J2EETransactionManagerOpt.java:358)
    at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:3736)
    at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:3515)
    at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1305)
    at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1267)
    at com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:197)
    at com.sun.ejb.containers.EJBObjectInvocationHandlerDelegate.invoke(EJBObjectInvocationHandlerDelegate.java:104)
    at $Proxy190.createAMember(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:204)
    at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.invoke(StubInvocationHandlerImpl.java:123)
    at com.sun.corba.ee.impl.presentation.rmi.bcel.BCELStubBase.invoke(BCELStubBase.java:196)
    at ppcobjectssessionbeans.__PpcMemberSessionRemote_Remote_DynamicStub.createAMember(__PpcMemberSessionRemote_Remote_DynamicStub.java)
    at ppcobjectssessionbeans._PpcMemberSessionRemote_Wrapper.createAMember(ppcobjectssessionbeans._PpcMemberSessionRemote_Wrapper.java)
    at polyplastoclub.admin.addMember_action(admin.java:630)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at com.sun.el.parser.AstValue.invoke(AstValue.java:174)
    at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:284)
    at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:77)
    at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:91)
    at com.sun.rave.web.ui.appbase.faces.ActionListenerImpl.processAction(ActionListenerImpl.java:57)
    at javax.faces.component.UICommand.broadcast(UICommand.java:383)
    at com.sun.webui.jsf.component.WebuiCommand.broadcast(WebuiCommand.java:160)
    at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:447)
    at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:752)
    at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
    at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
    at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
    at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:398)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:185)
    at com.sun.webui.jsf.util.UploadFilter.doFilter(UploadFilter.java:240)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:217)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:185)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
    at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:258)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:189)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:611)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:564)
    at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:81)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:193)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:611)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:564)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:558)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1067)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:137)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:611)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:564)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:558)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1067)
    at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:255)
    at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:618)
    at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:549)
    at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:790)
    at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:326)
    at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:248)
    at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:199)
    at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:252)
    at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:93)
    Caused by: java.sql.SQLException: A lock could not be obtained within the time requested
    at org.apache.derby.client.am.SQLExceptionFactory.getSQLException(Unknown Source)
    at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)
    at org.apache.derby.client.am.ResultSet.next(Unknown Source)
    at oracle.toplink.essentials.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:502)
    ... 97 more
    Caused by: org.apache.derby.client.am.SqlException: A lock could not be obtained within the time requested
    at org.apache.derby.client.am.ResultSet.completeSqlca(Unknown Source)
    at org.apache.derby.client.net.NetResultSetReply.parseFetchError(Unknown Source)
    at org.apache.derby.client.net.NetResultSetReply.parseCNTQRYreply(Unknown Source)
    at org.apache.derby.client.net.NetResultSetReply.readFetch(Unknown Source)
    at org.apache.derby.client.net.ResultSetReply.readFetch(Unknown Source)
    at org.apache.derby.client.net.NetResultSet.readFetch_(Unknown Source)
    at org.apache.derby.client.am.ResultSet.flowFetch(Unknown Source)
    at org.apache.derby.client.net.NetCursor.getMoreData_(Unknown Source)
    at org.apache.derby.client.am.Cursor.stepNext(Unknown Source)
    at org.apache.derby.client.am.Cursor.next(Unknown Source)
    at org.apache.derby.client.am.ResultSet.nextX(Unknown Source)
    ... 99 more
    If i persist the common object in business part, i have no problem : is it a toplink limit or there is something to do ?
    Best regards
    H. Deslandes

    Hi,
    I am getting same error code but with different error details.
    Whenever my BPEL process is idle for a long time and then if I execute the BPEL process, it gives me an error from db adapter as shown here:
    <remoteFault xmlns="http://schemas.oracle.com/bpel/extension">
    -<part name="code">
    <code>17002
    </code>
    </part>
    -<part name="summary">
    <summary>
    file:/oracle/product/Oracle_SOA_10.1.3/bpel/domains/default/tmp/.bpel_IHCloseTaskResponse_1.0_aaa6a3e5c7a3340eff9954dbeaf1e374.tmp/InsertIHCloseDB.wsdl [ InsertIHCloseDB_ptt::write(IhCloseMainCollection) ] - WSIF JCA Execute of operation 'write' failed due to: DBWriteInteractionSpec Execute Failed Exception.
    write failed. Descriptor name: [InsertIHCloseDB.IhCloseMain]. [Caused by: Io exception: Broken pipe]
    ; nested exception is:
         ORABPEL-11616
    DBWriteInteractionSpec Execute Failed Exception.
    write failed. Descriptor name: [InsertIHCloseDB.IhCloseMain]. [Caused by: Io exception: Broken pipe]
    Caused by Exception [TOPLINK-4002] (Oracle TopLink - 10g Release 3 (10.1.3.3.0) (Build 070608)): oracle.toplink.exceptions.DatabaseException
    Internal Exception: java.sql.SQLException: Io exception: Broken pipeError Code: 17002
    Call:SELECT TIH_REFERENCE_NUMBER FROM IH_CLOSE_MAIN WHERE (TIH_REFERENCE_NUMBER = ?)
         bind => [IH1107100305]
    Query:DoesExistQuery().
    </summary>
    </part>
    -<part name="detail">
    <detail>
    Internal Exception: java.sql.SQLException: Io exception: Broken pipeError Code: 17002
    Call:SELECT TIH_REFERENCE_NUMBER FROM IH_CLOSE_MAIN WHERE (TIH_REFERENCE_NUMBER = ?)
         bind => [IH1107100305]
    Query:DoesExistQuery()
    </detail>
    </part>
    </remoteFault>
    Can any body help me to sort out this problem, please?
    Many thanks in advance.

  • Getting exception TOPLINK-2004

    We are trying insert a single record to a table and getting following error:
    We are at very crucial stage of testing , Pl help us to resolve the issue.
    Thanks in advance for your help
    <2006-12-21 21:58:42,547> <DEBUG> <default.collaxa.cube.ws> <Database Adapter::Outbound> <oracle.tip.adapter.db.TopLinkLogger log> INSERT INTO CAH1.INTERFACE_CONTROL (SQ_RECORD_ID, INTERFACE_NAME, INTERFACE_STATUS) VALUES (?, ?, ?)
    bind => [null, JOBCODE, RECEIVED]
    <2006-12-21 21:58:42,557> <DEBUG> <default.collaxa.cube.ws> <AdapterFramework::Outbound> file:/data/app/oracle/soa/10.1.3.1/OracleAS_1/bpel/domains/default/tmp/.bpel_JobcodeMain_1.0_ecd4926cbc8cc8c94cea022b5a9d0120.tmp/INTF_CLR_DBA.wsdl [ INTF_CLR_DBA_ptt::insert(InterfaceControlCollection) ] - Committing JCA LocalTransaction
    <2006-12-21 21:58:42,559> <DEBUG> <default.collaxa.cube.ws> <Database Adapter::Outbound> <oracle.tip.adapter.db.TopLinkLogger log> commit transaction
    <2006-12-21 21:58:42,583> <ERROR> <default.collaxa.cube.ws> <AdapterFramework::Outbound> file:/data/app/oracle/soa/10.1.3.1/OracleAS_1/bpel/domains/default/tmp/.bpel_JobcodeMain_1.0_ecd4926cbc8cc8c94cea022b5a9d0120.tmp/INTF_CLR_DBA.wsdl [ INTF_CLR_DBA_ptt::insert(InterfaceControlCollection) ] - Could not invoke operation 'insert' against the 'Database Adapter' due to:
    ORABPEL-11616
    DBWriteInteractionSpec Execute Failed Exception.
    unknown failed. Descriptor name: [unknown].
    Caused by Exception [TOPLINK-2004] (Oracle TopLink - 10g Release 3 (10.1.3.1.0) (Build 061004)): oracle.toplink.exceptions.ConcurrencyException
    Exception Description: A signal was attempted before wait() on ConcurrencyManager. This normally means that an attempt was made to
    commit or rollback a transaction before it was started, or to rollback a transaction twice..
    at oracle.tip.adapter.db.exceptions.DBResourceException.createEISException(DBResourceException.java:369)
    at oracle.tip.adapter.db.exceptions.DBResourceException.outboundWriteException(DBResourceException.java:410)
    at oracle.tip.adapter.db.transaction.DBTransaction.commit(DBTransaction.java:230)
    at oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA.executeRequestResponseOperation(WSIFOperation_JCA.java:509)
    at oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA.executeInputOnlyOperation(WSIFOperation_JCA.java:726)
    at com.collaxa.cube.ws.WSIFInvocationHandler.invoke(WSIFInvocationHandler.java:425)
    at com.collaxa.cube.ws.WSInvocationManager.invoke2(WSInvocationManager.java:416)
    at com.collaxa.cube.ws.WSInvocationManager.invoke(WSInvocationManager.java:222)
    at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__invoke(BPELInvokeWMP.java:736)
    at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__executeStatements(BPELInvokeWMP.java:371)
    at com.collaxa.cube.engine.ext.wmp.BPELActivityWMP.perform(BPELActivityWMP.java:195)
    at com.collaxa.cube.engine.CubeEngine.performActivity(CubeEngine.java:3271)
    at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1697)
    at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handleLocal(PerformMessageHandler.java:75)
    at com.collaxa.cube.engine.dispatch.DispatchHelper.handleLocalMessage(DispatchHelper.java:184)
    at com.collaxa.cube.engine.dispatch.DispatchHelper.sendMemory(DispatchHelper.java:269)
    at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:5244)
    at com.collaxa.cube.engine.CubeEngine.createAndInvoke(CubeEngine.java:1083)
    at com.collaxa.cube.engine.delivery.DeliveryService.handleInvoke(DeliveryService.java:530)
    at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.handleInvoke(CubeDeliveryBean.java:333)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.interceptor.system.JAASInterceptor$1.run(JAASInterceptor.java:31)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:396)
    at com.evermind.server.ThreadState.runAs(ThreadState.java:622)
    at com.evermind.server.ejb.interceptor.system.JAASInterceptor.invoke(JAASInterceptor.java:34)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.interceptor.system.TxRequiredInterceptor.invoke(TxRequiredInterceptor.java:50)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
    at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
    at CubeDeliveryBean_LocalProxy_4bin6i8.handleInvoke(Unknown Source)
    at com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessageHandler.handle(InvokeInstanceMessageHandler.java:37)
    at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:138)
    at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70)
    at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86)
    at sun.reflect.GeneratedMethodAccessor52.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.interceptor.system.SetContextActionInterceptor.invoke(SetContextActionInterceptor.java:44)
    at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
    at oracle.j2ee.connector.messageinflow.MessageEndpointImpl.OC4J_invokeMethod(MessageEndpointImpl.java:297)
    at WorkerBean_EndPointProxy_4bin6i8.onMessage(Unknown Source)
    at oracle.j2ee.ra.jms.generic.WorkConsumer.run(WorkConsumer.java:266)
    at oracle.j2ee.connector.work.WorkWrapper.runTargetWork(WorkWrapper.java:242)
    at oracle.j2ee.connector.work.WorkWrapper.doWork(WorkWrapper.java:215)
    at oracle.j2ee.connector.work.WorkWrapper.run(WorkWrapper.java:190)
    at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:814)
    at java.lang.Thread.run(Thread.java:595)

    BTW, are you sure you aren't calling any of the individual sessions (apart from the session broker)?
    Do you have a simple reproducable test case?

  • Toplink Exception: caused by EXCEPTION [TOPLINK-125]

    Hi,
    Sorry i can't provide much info at the moment, but this has just been passed on from a colleague at work.
    The following error has occurred now that we have temporarily set all descriptors to use noIdentityMap().
    It does not happen when caching is switched on.
    Jul 01, 2003 06:32:36 PM com.aon.ame.quotation.ejb.QuotationBean updateSectionQuotation
    INFO: Toplink Exception: caused by EXCEPTION [TOPLINK-125] (3.6.4 (build 245)): TOPLink.Public.Exceptions.DescriptorException
    EXCEPTION DESCRIPTION: The mapping for the attribute [underwritingCompany] uses indirection, and so must be initialized to a new ValueHolder. Currently the value is: [null].
    MAPPING: TOPLink.Public.Mappings.OneToOneMapping[underwritingCompany]
    DESCRIPTOR: Descriptor(com.aon.ame.entities.UnderwritingBranch --> [DatabaseTable(AME2DATA.UNDERWRITING_BRANCH)]):
    EXCEPTION DESCRIPTION: The mapping for the attribute [underwritingCompany] uses indirection, and so must be initialized to a new ValueHolder. Currently the value is: [null].
    MAPPING: TOPLink.Public.Mappings.OneToOneMapping[underwritingCompany]
    DESCRIPTOR: Descriptor(com.aon.ame.entities.UnderwritingBranch --> [DatabaseTable(AME2DATA.UNDERWRITING_BRANCH)])
    LOCAL EXCEPTION STACK:
    EXCEPTION [TOPLINK-125] (3.6.4 (build 245)): TOPLink.Public.Exceptions.DescriptorException
    EXCEPTION DESCRIPTION: The mapping for the attribute [underwritingCompany] uses indirection, and so must be initialized to a new ValueHolder. Currently the value is: [null].
    MAPPING: TOPLink.Public.Mappings.OneToOneMapping[underwritingCompany]
    DESCRIPTOR: Descriptor(com.aon.ame.entities.UnderwritingBranch --> [DatabaseTable(AME2DATA.UNDERWRITING_BRANCH)])
         at java.lang.Throwable.fillInStackTrace(Native Method)
         at java.lang.Throwable.fillInStackTrace(Compiled Code)
         at java.lang.Throwable.<init>(Compiled Code)
         at java.lang.Exception.<init>(Compiled Code)
         at java.lang.RuntimeException.<init>(Compiled Code)
         at TOPLink.Public.Exceptions.TOPLinkException.<init>(Compiled Code)
         at TOPLink.Public.Exceptions.ValidationException.<init>(Compiled Code)
         at TOPLink.Public.Exceptions.DescriptorException.<init>(DescriptorException.java:176)
         at TOPLink.Public.Exceptions.DescriptorException.<init>(DescriptorException.java:183)
         at TOPLink.Public.Exceptions.DescriptorException.valueHolderInstantiationMismatch(DescriptorException.java:1363)
         at TOPLink.Private.Indirection.BasicIndirectionPolicy.validateAttributeOfInstantiatedObject(Compiled Code)
         at TOPLink.Public.Mappings.ForeignReferenceMapping.getAttributeValueFromObject(Compiled Code)
         at TOPLink.Public.Mappings.ForeignReferenceMapping.buildClone(Compiled Code)
         at TOPLink.Private.Descriptors.ObjectBuilder.populateAttributesForClone(Compiled Code)
         at TOPLink.Public.PublicInterface.UnitOfWork.cloneAndRegisterObject(Compiled Code)
         at TOPLink.Public.PublicInterface.UnitOfWork.checkExistence(Compiled Code)
         at TOPLink.Public.PublicInterface.UnitOfWork.internalRegisterObject(Compiled Code)
         at TOPLink.Public.PublicInterface.UnitOfWork.registerObject(Compiled Code)
         at com.aon.ame.quotation.ejb.QuotationBean.updateSectionQuotation(Compiled Code)
         at com.aon.ame.quotation.ejb.EJSRemoteQuotation.updateSectionQuotation(EJSRemoteQuotation.java:2418)
         at com.aon.ame.quotation.ejb._Quotation_BaseStub.updateSectionQuotation(_Quotation_BaseStub.java:4146)
         at com.aon.ame.quotation.ejb._Quotation_Stub.updateSectionQuotation(Compiled Code)
         at com.aon.ame.quotation.struts.action.ViewSpecialEndorsementsAction.doUpdateBrokerSpecialEndorsement(Compiled Code)
         at com.aon.ame.quotation.struts.action.ViewSpecialEndorsementsAction.doUpdateWording(ViewSpecialEndorsementsAction.java:551)
         at com.aon.ame.quotation.struts.action.ViewSpecialEndorsementsAction.amePerform(ViewSpecialEndorsementsAction.java:127)
         at com.aon.ame.struts.action.AmeBaseAction.aonPerform(AmeBaseAction.java:48)
         at com.aon.struts.action.BaseAction.perform(Compiled Code)
         at org.apache.struts.action.ActionServlet.processActionPerform(Compiled Code)
         at org.apache.struts.action.ActionServlet.process(Compiled Code)
         at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:510)
         at javax.servlet.http.HttpServlet.service(Compiled Code)
         at javax.servlet.http.HttpServlet.service(Compiled Code)
         at com.ibm.servlet.engine.webapp.StrictServletInstance.doService(Compiled Code)
         at com.ibm.servlet.engine.webapp.StrictLifecycleServlet._service(Compiled Code)
         at com.ibm.servlet.engine.webapp.IdleServletState.service(Compiled Code)
         at com.ibm.servlet.engine.webapp.StrictLifecycleServlet.service(Compiled Code)
         at com.ibm.servlet.engine.webapp.ServletInstance.service(Compiled Code)
         at com.ibm.servlet.engine.webapp.ValidServletReferenceState.dispatch(Compiled Code)
         at com.ibm.servlet.engine.webapp.ServletInstanceReference.dispatch(Compiled Code)
         at com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.handleWebAppDispatch(Compiled Code)
         at com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.dispatch(Compiled Code)
         at com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.forward(Compiled Code)
         at com.ibm.servlet.engine.srt.WebAppInvoker.doForward(Compiled Code)
         at com.ibm.servlet.engine.srt.WebAppInvoker.handleInvocationHook(Compiled Code)
         at com.ibm.servlet.engine.invocation.CachedInvocation.handleInvocation(Compiled Code)
         at com.ibm.servlet.engine.invocation.CacheableInvocationContext.invoke(Compiled Code)
         at com.ibm.servlet.engine.srp.ServletRequestProcessor.dispatchByURI(Compiled Code)
         at com.ibm.servlet.engine.oselistener.OSEListenerDispatcher.service(Compiled Code)
         at com.ibm.servlet.engine.oselistener.SQEventListenerImp$ServiceRunnable.run(Compiled Code)
         at com.ibm.servlet.engine.oselistener.SQEventListenerImp.notifySQEvent(Compiled Code)
         at com.ibm.servlet.engine.oselistener.serverqueue.SQEventSource.notifyEvent(Compiled Code)
         at com.ibm.servlet.engine.oselistener.serverqueue.SQWrapperEventSource$SelectRunnable.notifyService(Compiled Code)
         at com.ibm.servlet.engine.oselistener.serverqueue.SQWrapperEventSource$SelectRunnable.run(Compiled Code)
         at com.ibm.servlet.engine.oselistener.outofproc.OutOfProcThread$CtlRunnable.run(Compiled Code)
         at java.lang.Thread.run(Compiled Code)
    Jul 01, 2003 06:32:36 PM com.aon.struts.action.BaseAction perform
    SEVERE: com.aon.ame.quotation.struts.action.ViewSpecialEndorsementsAction.aonPerform() threw an exception: RemoteException occurred in server thread; nested exception is:
         com.ibm.ejs.container.UncheckedException: ; nested exception is:
         EXCEPTION [TOPLINK-125] (3.6.4 (build 245)): TOPLink.Public.Exceptions.DescriptorException
    EXCEPTION DESCRIPTION: The mapping for the attribute [underwritingCompany] uses indirection, and so must be initialized to a new ValueHolder. Currently the value is: [null].
    Can anyone shed any light on why this might have happened?
    Many thanks.

    I don't see how caching is affected by this, but the exception is complaining that you have a relationship that uses indirection and have not instantiated the value holders.
    I.e.,
    Customer has 1-1 to Address, and you're using ValueHolderInterface for the type. Either in the constructor or in the declaration of the attribute, you need to init the value holder. You should do the same for 1-M's also (unless you're using transparent indirection) For example:
    public class Customer {
    String name;
    String title;
    ValueHolderInterface address = new ValueHolder();
    ValueHolderInterface orders = new ValueHolder(new Vector());

  • UnitOfWork / Update / EXCEPTION [TOPLINK-6004]

    Hello!
    I have an ItemObject which contains ItemLines (ValueHolder, Master-Detail).
    I can update the (standard)Item-Objekt attributes, but how can i set the Itemlines-Object? Should i register the Itemlines-ValueHolder in the UnitOfWork? If this is a ValueHolder-Interface, should i read the collection from the database?
    I get the following exception:
    EXCEPTION [TOPLINK-6004] (TopLink - 9.0.3.2 (Build 429)): oracle.toplink.exceptions.QueryException
    EXCEPTION DESCRIPTION: The object [linzag.imds.wdb.bo.model.bean.KnowledgeBranch@50], of class [class linzag.imds.wdb.bo.model.bean.KnowledgeBranch], with identity hashcode (System.identityHashCode()) [80],is not from this UnitOfWork object space, but the parent session's. The object was never registered in this UnitOfWork,but read from the parent session and related to an object registered in the UnitOfWork. Ensure that you are correctly registering your objects. If you are still having problems, you can use the UnitOfWork.validateObjectSpace() method to help debug where the error occurred. For more information, see the manual or FAQ.
    regards
    Harald.

    Harald,
    The simplest solution is to read in and register the ItemObject with a UnitOfWork (TX). Then the traversal of the indirect (ValueHolder) relationship will result in the collection of ItemLine objects automatically being registered.
    At this point you can add, modify, or remove an ItemLine and the UnitOfWork.commit() will capture the change.
    NOTE 1: If you want removal of an ItemLine from the collection to result in its deletion from the database make sure the 1:M relationship is marked as privately owned.
    NOTE 2: For collection relationships such as this you do not need to use a ValueHolder for indirection. TopLink also support transparent indirection of collection relationships.
    Doug

  • EXCEPTION [TOPLINK-6004]

    Hello,
    we are using toplink as the persistence framework for a backoffice web application.
    We're sporadically getting this error.
    I have tried to reproduce the error and was "successful" in two kinds of situations:
    1. Configure the application server with a heapsize being too low for the application's realistic needs. In such a scenario the error was dependably reproducable.
    2. Start a business process, make some changes to uow-registered-objects, leave the process inactive for a time, maybe 20 to 30 minutes, then commit the work you've done before and the error will happen.
    In case of "normal" use of the business process nothing is wrong!
    It's a pity that we are not in the position to claim "normal usage".
    We're guessing if there perhaps are some toplink-internal weak references causing this behavior??
    Thanks for your help,
    Wolfgang

    Duplicate post.
    EXCEPTION [TOPLINK-6004]

  • Copy entity between EntityManagers - Exception TOPLINK-7251

    I am trying to copy rows from one database to another using Toplink. The tables have a composite primary key. Sample.java copies over three thousand rows successfully before an exception.
    h3. Configuration
            <persistence-unit name="STLMOSQL">
              <provider>oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider</provider>
              <class>jpa.Ineligiblereasonxref</class>
              <class>jpa.IneligiblereasonxrefPK</class>
         </persistence-unit>
         <persistence-unit name="DataWareHouse">
              <provider>oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider</provider>
              <class>jpa.Ineligiblereasonxref</class>
              <class>jpa.IneligiblereasonxrefPK</class>
         </persistence-unit>
              </properties>
         </persistence-unit>h3. Sample.java
       public static void main(String[] args) {
          EntityManagerFactory emf1 = Persistence.createEntityManagerFactory("em1");
          EntityManager em1 = emf1.createEntityManager();
          EntityManagerFactory emf2 = Persistence.createEntityManagerFactory("em2");
          EntityManager em2 = emf2.createEntityManager();
          try {
             Query q = em1.createQuery("Select i from Ineligiblereasonxref i") ;
             List<Ineligiblereasonxref> xrefs = (List<Ineligiblereasonxref>) q.getResultList();
             em1.clear();
             for(Ineligiblereasonxref xref :  xrefs){
                  em2.getTransaction().begin();
                  em2.merge(xref);
                  em2.getTransaction().commit();
          }finally {
              em2.close();
              emf2.close();
              em1.close();
              emf1.close();
       }h3. Ineligiblereasonxref.java
    @Entity
    public class Ineligiblereasonxref implements Serializable {
         @EmbeddedId
         private IneligiblereasonxrefPK pk;
         private String ineligiblereasoncode;
            ... deleted ...
    }h3. IneligiblereasonxrefPK.java
    @Embeddable
    public class IneligiblereasonxrefPK implements Serializable {
         private String sourceineligiblereasoncode;
         private long datasourceid;
         private long sourcetableid;
            ... deleted ...
    }h3. Exception
    Exception [TOPLINK-7251] (Oracle TopLink Essentials - 2.0.1 (Build b09d-fcs (12/06/2007))): oracle.toplink.essentials.exceptions.ValidationException
    Exception Description: The attribute [sourceineligiblereasoncode] of class [jpa.IneligiblereasonxrefPK] is mapped to a primary key column in the database. Updates are not allowed.
         at oracle.toplink.essentials.exceptions.ValidationException.primaryKeyUpdateDisallowed(ValidationException.java:2222)
         at oracle.toplink.essentials.mappings.foundation.AbstractDirectMapping.writeFromObjectIntoRowWithChangeRecord(AbstractDirectMapping.java:750)
         at oracle.toplink.essentials.internal.descriptors.ObjectBuilder.buildRowWithChangeSet(ObjectBuilder.java:837)Edited by: timmaryson on May 11, 2009 1:52 PM

    Thanks for the reply Chris. I actually had tried this, but it didn't help. I did find the problem though. Maybe someone else may run into this in the future, so I will explain.
    I am copying rows between databases with different character set collations. The first database is case sensitive. The second database is case insensitive.
    The first database has one row with the key '1,394,CM' and and another row with the key '1,394,cm'. The second database treats these as the same.
    merge() flags this as an error when it notices that the combination of the new and old objects yields a new key.
    I changed the collation to be case sensitive on MS SQL Server. [http://msdn.microsoft.com/en-us/library/aa258233(SQL.80).aspx]
    CREATE TABLE  INELIGIBLEREASONXREF (
        SOURCEINELIGIBLEREASONCODE varchar(10) COLLATE SQL_Latin1_General_CP1_CS_AS NOT NULL,
    )CP1 - Default code page
    CS - Case Sensitive.
    AS - Accent Sensitive
    I am interested to know if Toplink's behavior is "correct". Some users may wish to configure this behavior.
    I did not find any reference to collation nor case sensitivity in "JSR 220: Enterprise JavaBeansTM,Version 3.0
    Java Persistence API" nor in TopLink. JDBC reports the column's case sensitivity. So the potential is there to extend Top Link.
    Thanks again for the reply,
    Tim
    Edited by: timmaryson on May 11, 2009 12:29 PM
    Edited by: timmaryson on May 11, 2009 1:52 PM
    Edited by: timmaryson on May 11, 2009 2:07 PM

  • Exception [TOPLINK-48] Multiple writable mappings exist for field

    Hi All
    I am quite new to JPA and Toplink and I am trying to write simple JPA application using toplink essentials as the persistence provider however, when I comppile the code, get errors below saying that Multiple writable mappings exist for a given field i.e. http://J2EEUSER.BANKS.BRANCH_ADDR_POSTCODE. The thing is, I havent tried to map this field i.e. J2EEUSER.BANKS.BRANCH_ADDR_POSTCODE to multiple maps so I'm a bit confused as to why I'm getting this error. I have attached all the the associated code and error messages. I was hoping that some one will be able to help. I am using Eclipse Galileo and OC4j Standalone 10.1.3.4
    The error are
    Runtime Exceptions:
    ; nested exception is:
    javax.persistence.PersistenceException: Exception TOPLINK-0 (Oracle TopLink Essentials - 2.0.1 (Build b09d-fcs (12/06/2007))): oracle.toplink.essentials.exceptions.IntegrityException
    Descriptor Exceptions:
    Exception TOPLINK-48 (Oracle TopLink Essentials - 2.0.1 (Build b09d-fcs (12/06/2007))): oracle.toplink.essentials.exceptions.DescriptorException
    Exception Description: Multiple writable mappings exist for the field http://J2EEUSER.BANKS.BRANCH_ADDR_POSTCODE. Only one may be defined as writable, all others must be specified read-only.
    Mapping: oracle.toplink.essentials.mappings.DirectToFieldMappinghttp://branch_Addr_Road_Name-->J2EEUSER.BANKS.BRANCH_ADDR_POSTCODE
    Descriptor: RelationalDescriptor(com.gworx.Bank --> http://DatabaseTable(J2EEUSER.BANKS))
    Exception TOPLINK-48 (Oracle TopLink Essentials - 2.0.1 (Build b09d-fcs (12/06/2007))): oracle.toplink.essentials.exceptions.DescriptorException
    Exception Description: Multiple writable mappings exist for the field http://J2EEUSER.BANKS.BRANCH_ADDR_POSTCODE. Only one may be defined as writable, all others must be specified read-only.
    Mapping: oracle.toplink.essentials.mappings.DirectToFieldMappinghttp://bankName-->J2EEUSER.BANKS.BRANCH_ADDR_POSTCODE
    Descriptor: RelationalDescriptor(com.gworx.Bank --> http://DatabaseTable(J2EEUSER.BANKS))
    Exception TOPLINK-48 (Oracle TopLink Essentials - 2.0.1 (Build b09d-fcs (12/06/2007))): oracle.toplink.essentials.exceptions.DescriptorException
    Exception Description: Multiple writable mappings exist for the field http://J2EEUSER.BANKS.BRANCH_ADDR_POSTCODE. Only one may be defined as writable, all others must be specified read-only.
    Mapping: oracle.toplink.essentials.mappings.DirectToFieldMappinghttp://branch_Addr_Locality-->J2EEUSER.BANKS.BRANCH_ADDR_POSTCODE
    Descriptor: RelationalDescriptor(com.gworx.Bank --> http://DatabaseTable(J2EEUSER.BANKS))
    The entity class is
    package com.gworx;
    import java.io.Serializable;
    import javax.persistence.*;
    import javax.persistence.CascadeType;
    @Entity
    @IdClass(BankPK.class)
    @Table(name = "BANKS", schema = "J2EEUSER")
    public class Bank implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Column(name = "BRANCH_SORTCODE", nullable = false, precision = 6, insertable=false, updatable=false)
    long sortcode;
    @Basic()
    @Column(name = "BANK_NAME", nullable = false, insertable=false, updatable=false)
    String bankName;
    @Basic()
    @Column(name = "BRANCH_NAME", nullable = false, insertable=false, updatable=false)
    String branchName;
    @Basic()
    @Column(name = "BRANCH_ADDR_HOUSE_NAME", nullable = false, insertable=false, updatable=false)
    String branch_Addr_House_Name;
    @Basic()
    @Column(name = "BRANCH_ADDR_ROAD_NAME",nullable = false, insertable=false, updatable=false)
    String branch_Addr_Road_Name;
    @Basic()
    @Column(name = "BRANCH_ADDR_LOCALITY", nullable = false, insertable=false, updatable=false)
    String branch_Addr_Locality;
    @Basic()
    @Column(name = "BRANCH_ADDR_CITY",nullable = false, insertable=false, updatable=false)
    String branch_Addr_City;
    @OneToOne(cascade=CascadeType.ALL)
    @Basic()
    @Column(name = "BRANCH_ADDR_POSTCODE", nullable = false)
    String branch_Addr_Postcode;
    public Bank(){}
    public Bank(
    String bankName,
    String branchName,
    long sortcode,
    String branch_Addr_House_Name,
    String branch_Addr_Road_Name,
    String branch_Addr_Locality,
    String branch_Addr_City,
    String branch_Addr_Postcode)
    this.bankName=bankName;
    this.sortcode=sortcode;
    this.branchName = branchName;
    this.branch_Addr_House_Name=branch_Addr_House_Name;
    this.branch_Addr_Road_Name=branch_Addr_Road_Name;
    this.branch_Addr_Locality=branch_Addr_Locality;
    this.branch_Addr_City=branch_Addr_City;
    this.branch_Addr_Postcode=branch_Addr_Postcode;
    public void setSortcode(long sortcode){
    this.sortcode =sortcode;
    public long getSortCode(){
    return this.sortcode;
    The PK class is
    public class BankPK implements Serializable {
    public long sortcode;
    public BankPK(long sortcode){
    this.sortcode = sortcode;
    public boolean equals(Object obj){
    if(obj==null || !(obj instanceof BankPK)){
    return false;
    else if (((BankPK)obj).sortcode ==sortcode)
    return true;
    else
    return false;
    public int hashCode(){
    StringBuffer buff = new StringBuffer();
    buff.append(sortcode);
    int hashCode =buff.hashCode();
    return hashCode;
    My stateless session bean that I use to create to create the entity is
    package com.gworx;
    import javax.ejb.Local;
    import javax.ejb.Stateless;
    import javax.persistence.*;
    import javax.ejb.Remote;
    import com.gworx.BankBeanRemote;
    @Stateless
    public class BankBean implements BankBeanRemote {
    @PersistenceContext
    EntityManager entMgr;
    public Account account;
    long sortcode, cust_id;
    //Bank Details
    String bankName,branchName,branch_Addr_House_Name,
    branch_Addr_Road_Name,branch_Addr_Locality,
    branch_Addr_City, branch_Addr_Postcode;
    public BankBean() {
    // TODO Auto-generated constructor stub
    // entMgr=emf.createEntityManager();
    public void make_A_Bank(
    String bankName,
    String branchName,
    long sortcode,
    String branch_Addr_House_Name,
    String branch_Addr_Road_Name,
    String branch_Addr_Locality,
    String branch_Addr_City,
    String branch_Addr_Postcode
    this.sortcode=sortcode;
    this.bankName =bankName;
    this.branchName = branchName;
    this.branch_Addr_House_Name=branch_Addr_House_Name;
    this.branch_Addr_Road_Name=branch_Addr_Road_Name;
    this.branch_Addr_Locality=branch_Addr_Locality;
    this.branch_Addr_City=branch_Addr_City;
    this.branch_Addr_Postcode=branch_Addr_Postcode;
    Bank bank = new Bank( bankName,branchName,sortcode,branch_Addr_House_Name,
    branch_Addr_Road_Name,branch_Addr_Locality,
    branch_Addr_City, branch_Addr_Postcode);
    entMgr.persist(bank);
    }

    Hi quophyie,
    try removing the @OneToOne annotation, after all your postcode is just a string, there's nothing to cascade.
    And it would help a lot if you formatted your code.
    Zsom

  • EXCEPTION [TOPLINK-3001]

    I have two tables File and FileFormat in database. In File table, I have file_id, file_format_id (reference FileFormat table), and file_size. In FileFormat table, I have file_format_id, and file_format_name. I want to retrieve file information with file_format_name.
    Here is part of my code
    ExpressionBuilder filesEB = new ExpressionBuilder();
    Expression filesExp = filesEB.get("fileId").lessThan(20);
    Vector files = session.readAllObjects(File.class,filesExp);
    I got exception when I call session.readAllObjects(File.class,filesExp)
    EXCEPTION [TOPLINK-3001] (TopLink - 9.0.3 (Build 423)): oracle.toplink.exception
    s.ConversionException
    EXCEPTION DESCRIPTION: The object [1], of class [class java.math.BigDecimal], co
    uld not be converted to [interface oracle.toplink.indirection.ValueHolderInterfa
    ce].
    Please help me to figure out what's wrong here
    Thanks

    Thanks for the reply.
    I used one-to-one mapping without redirection. In class attribute field I set fileFormat to be of type FileFormat, and set the getFileFormat and setFileFormat method to take FileFormat and return FileFormat type.
    I got exception
    EXCEPTION DESCRIPTION: The object [1], of class [class java.math.BigDecimal], could not be converted to [class ***.toplink.FileFormat].
    If I use redirection, I set fileFormat to be of type ValueHolderInterface and its Item Type to be FileFormat, I still got the same exception as I posted in my first message.
    I am stuck there, please help me.
    Thanks

  • Exception [TOPLINK-7095]

    I've used TopLink outside of the J2EE container for unit testing my dao service. So in the unit test case, both my sessions.xml and toplink_aidms.xml (mappings) were in my classpath.
    I get the following stack trace when I try to instantiate the DAO object which uses the toplink configuration files. (Yes, I use the Spring-TopLink integration jar file):
    Exception [TOPLINK-7095] (OracleAS TopLink - 10g (9.0.4.5) (Build 040930)): oracle.toplink.exceptions.ValidationException
    Exception Description: The session.xml resource [sessions.xml] was not found on the resource path. Check that the resource name and classloader
    is correct.
    at oracle.toplink.exceptions.ValidationException.noSessionsXMLFound(ValidationException.java:434)
    at oracle.toplink.tools.sessionconfiguration.XMLLoader.retreiveDOM(XMLLoader.java:170)
    at oracle.toplink.tools.sessionconfiguration.XMLLoader.load(XMLLoader.java:150)
    at oracle.toplink.tools.sessionmanagement.SessionManager.getSession(SessionManager.java:219)
    at org.springframework.orm.toplink.SessionFactoryBean.afterPropertiesSet(Unknown Source)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1072)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:343)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:260)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:221)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:145)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveReference(AbstractAutowireCapableBeanFactory.java:980)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveValueIfNecessary(AbstractAutowireCapableBeanFactory.java:918)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:859)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:688)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:325)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:260)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:221)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:145)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveReference(AbstractAutowireCapableBeanFactory.java:980)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.resolveValueIfNecessary(AbstractAutowireCapableBeanFactory.java:918)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:859)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:688)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:325)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:260)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:221)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:145)
    at gov.dhs.usvisit.aidms.context.SpringContext.getDaoService(Unknown Source)
    at gov.dhs.usvisit.aidms.message.handler.AbstractMessageConsumerBean.<init>(Unknown Source)
    at gov.dhs.usvisit.aidms.message.handler.AIDMSMessageConsumerBean.<init>(Unknown Source)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
    at com.evermind.server.ejb.MessageDrivenHome.getInstance(MessageDrivenHome.java:1231)
    at com.evermind.server.ejb.MessageDrivenBeanInvocation.run(MessageDrivenBeanInvocation.java:100)
    at com.evermind.server.ejb.MessageDrivenHome.onMessage(MessageDrivenHome.java:748)
    at com.evermind.server.ejb.MessageDrivenHome.run(MessageDrivenHome.java:921)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
    at java.lang.Thread.run(Thread.java:534)
    It seems to me that the sessions.xml is in fact on the resource path. My application-ejb.jar has the aidms_toplink.xml, sessions.xml, and directory of compiled classes. This application-ejb.jar sits in an ear file at the root level. I'm worried that I don't have the right classloader loading my sessions.xml file. It seems to me that the sessions.xml file is in the classpath which would qualify as in eligible location for the resource path.
    Thanks in advance,
    Dan

    Hey Dan
    By default, we try to load the sessions.xml file with whatever ClassLoader is returned from Thread.currentThread().getContextClassLoader(). So it's important to know what Thread is executing when the Spring BeanFactory is first initialized (or when the DAO is first used).
    If you need to use a different ClassLoader here, the SessionFactoryBean has a SessionClassLoader property that you can use to change the ClassLoader used.
    One way of debugging this situation is to add a call such as:
    Thread.currentThread().getContextClassLoader().getResourceAsStream("sessions.xml");
    to your code right before you initialize the DAO. This should return null (for the same reason that causes TOPLINK-7095). Try getting the ClassLoader for something that you KNOW is deployed in the same place as sessions.xml. The getResourceAsStream("sessions.xml") call on that ClassLoader should not return null.
    Is sessions.xml in the root of your application-ejb.jar (ie not in the META-INF directory)
    JIM

Maybe you are looking for

  • Re-locate itunes library from NTFS external hard drive to Time capsule

    I have 90% of my itunes files on an external hard drive which I used as the location of my itunes library when I was using a pc. I now use a macbook 80GB. I cannot use my external hard drive with my macbook as it's filing system is NTFS, and so incom

  • Use of Distribution model in Idoc to file

    Hey guys just outta curiosity,why do we need to create distribution model for IDOC to file scenario,we can ofcourse do the scenario without creating Distribution model (by using WE19 to send IDOC's). is it because for day to day transactions we wont

  • System status INCM is active

    Hi all, I am working in SRM 4.0 and when I try to do a confirmation, the system throws this message: System status INCM is active Transaction CO Through-postings from FI has been locked  I check all periods in FI, CO and MM and all are OK. What can b

  • Path to includes are not resolving when define is used

    in a Php document path to a class specified with a string resolved without a problem: require_once ( './classes/class.php' ); However, if a defined variable is used, the path does not resolve and Dreamweaver doesn't help with method hints: define ( C

  • Parallax Scrolling issue

    Home If you visit my sample site. Click the "Our Concept" from nav. When it scrolls down, you will notice the nav bar moves slowly to the left. and also when it does the scroll down effect, if you look at the top nav bar, you can see through the back