EXCEPTION [TOPLINK-43] problems in Toplink 3.6, Oracle 8.1.7, Weblogic 8.1 SP1

From: Alex M (alx_at_acm.org)
Date: 12/22/03

  • Next message: Calin: "Get the real type of columns from MS Access databases(OLEObject, text, memo, numeric)"
    Date: 22 Dec 2003 12:23:23 -0800
    
    

    When running an application under weblogic 8.1 in development
    environment, where all classpaths are set up in the IDE before
    launching the app server, the application runs fine. When deployed as
    self-contained web app, application fails when trying to load the
    toplink descriptors, claiming that it can not "missing class for
    indicator field value" for a specific entity class. The class
    inherits from an AbstractClass, both are defined in the descriptor
    project files correctly, using the class name as the class identifier.

    Anybody have any idea what causes these TOPLINK-43 errors? The manual
    description of this error is not much help. The error message itself
    seems to imply that it can not find this particular class, but right
    before the project is loaded, I created a reference to that class, so
    I know the class can be find by the JVM. Are there classloader issues
    with toplink that I am perhaps not aware of?

    Here is the stack trace. pd.contact.Person is the class that it
    claims not to be able to find. In extends AbstractEntity.
    AbstractEntity is set ot use class name as identifier field. Person
    sets the parent descriptor to be AbstractEntity.

    EXCEPTION [TOPLINK-43] (3.6 JDK1.2):
    TOPLink.Public.Exceptions.DescriptorException
    EXCEPTION DESCRIPTION: Missing class for indicator field value
    [pd.contact.Person] of type [class java.lang.String].
    DESCRIPTOR: Descriptor(pd.contact.AbstractEntity -->
    [DatabaseTable(ENTITY)])
    at TOPLink.Public.Exceptions.DescriptorException.missingClassForIndicatorFieldValue(DescriptorException.java:701)
    at TOPLink.Public.PublicInterface.InheritancePolicy.classFromRow(InheritancePolicy.java:254)
    at TOPLink.Private.Descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:271)
    at TOPLink.Public.QueryFramework.ObjectLevelReadQuery.buildObject(ObjectLevelReadQuery.java:197)
    at TOPLink.Public.QueryFramework.ReadObjectQuery.execute(ReadObjectQuery.java:352)
    at TOPLink.Public.QueryFramework.DatabaseQuery.execute(DatabaseQuery.java:394)
    at TOPLink.Public.QueryFramework.ReadQuery.execute(ReadQuery.java:99)
    at TOPLink.Public.PublicInterface.Session.internalExecuteQuery(Session.java:1628)
    at TOPLink.Public.ThreeTier.ServerSession.internalExecuteQuery(ServerSession.java:543)
    at TOPLink.Public.PublicInterface.Session.executeQuery(Session.java:921)
    at TOPLink.Private.Indirection.QueryBasedValueHolder.instantiate(QueryBasedValueHolder.java:45)
    at TOPLink.Private.Indirection.DatabaseValueHolder.getValue(DatabaseValueHolder.java:62)
    at TOPLink.Private.Indirection.UnitOfWorkQueryValueHolder.getValueFromWrappedValueHolder(UnitOfWorkQueryValueHolder.java:59)
    at TOPLink.Private.Indirection.UnitOfWorkValueHolder.instantiate(UnitOfWorkValueHolder.java:124)
    at TOPLink.Private.Indirection.DatabaseValueHolder.getValue(DatabaseValueHolder.java:62)


  • Next message: Calin: "Get the real type of columns from MS Access databases(OLEObject, text, memo, numeric)"