I did just notice that the stack trace says:  Caused by:
org.apache.ojb.broker.metadata.MetadataException: Can't read repository
file 'repository.xml'

Here is my entire repository.xml file.  It seems ok to me....

<?xml version="1.0" encoding="UTF-8"?>
<!-- This is a sample metadata repository for the 
     Apache ObJectRelationalBridge (OJB) System.
     Use this file as a template for building your own mappings.
-->

<!-- doctype definition
     By default we are using a local DTD that is expected to reside
     in the same directory as this repository.xml file.
     If you intend to validate your repository.xml against
     the public dtd at the Apache site, please replace the string
     "repository.dtd" 
     by the public adress
     "http://db.apache.org/ojb/dtds/1.0/repository.dtd";.
     In this case validation will only work if the machine you
     run your application on can connect to the internet! 
-->
     
<!DOCTYPE descriptor-repository PUBLIC
       "-//Apache Software Foundation//DTD OJB Repository//EN"
       "repository.dtd"
[
<!ENTITY database SYSTEM "repository_database.xml">
<!ENTITY internal SYSTEM "repository_internal.xml">
<!ENTITY user SYSTEM "repository_user.xml">
]>


<descriptor-repository version="1.0" isolation-level="read-uncommitted">

    <!-- include all used database connections -->
    <jdbc-connection-descriptor
        jcd-alias="mysqlDS"
        default-connection="false"
        platform="MySQL"
        jdbc-level="1.0"
        jndi-datasource-name="jdbc/ao79"
        batch-mode="false"
    >
        <sequence-manager
className="org.apache.ojb.broker.util.sequence.SequenceManagerNativeImpl
">
           <attribute attribute-name="autoNaming"
attribute-value="true"/>
        </sequence-manager>             
    </jdbc-connection-descriptor>

<class-descriptor class="model.AdmObject">
        <extent-class class-ref="model.PayrollDeductionPlan" />
</class-descriptor>

<class-descriptor class="model.PayrollDeductionPlan">
    <extent-class class-ref="model.ClientPayrollDeductionPlan" />
</class-descriptor>

<class-descriptor
    class="model.ClientPayrollDeductionPlan"
    table="dexa820t"
    >
    <field-descriptor
        name="objectId"
        column="B_ID"
        jdbc-type="INTEGER"
        primarykey="true"
        autoincrement="true"
        />
    <field-descriptor
        name="clientInfo"
        column="client_info"
        jdbc-type="VARCHAR"
        />

    <field-descriptor
        name="payrollDeductionId"
        column="parent_id"
        jdbc-type="INTEGER"
        access="anonymous"
        />
    <field-descriptor
        name="idOfLastUserToUpdate"
        column="update_user"
        jdbc-type="VARCHAR"
    />
    <field-descriptor
        name="idOfUserThatCreated"
        column="created_user"
        jdbc-type="VARCHAR"
    />
    <field-descriptor
        name="objectStatus"
        column="object_status"
        jdbc-type="VARCHAR"
    />        
    <reference-descriptor name="super"
        class-ref="model.PayrollDeductionPlan"
        auto-retrieve="true"
        auto-update="true"
        auto-delete="true"
        >
        <foreignkey field-ref="payrollDeductionId"/>
    </reference-descriptor>
    <collection-descriptor
        name="payPlanAssociations"
        element-class-ref="model.PayPlanAssociation"
        auto-retrieve="true"
        auto-update="true"
        auto-delete="true"
        >
        <inverse-foreignkey field-ref="payPlanFK"/>        
    </collection-descriptor>    
</class-descriptor>

<class-descriptor
    class="model.PayPlanAssociation"
    table="dexa830t"
    >
    <field-descriptor
        name="id"
        column="D_ID"
        jdbc-type="INTEGER"
        primarykey="true"
        autoincrement="true"
        />
    <field-descriptor
        name="payPlanFK"
        column="a_id"
        jdbc-type="INTEGER"
        />
    <reference-descriptor name="payrollDeductionPlan"
        class-ref="model.PayrollDeductionPlan"
        auto-retrieve="true"
        auto-update="true"
        auto-delete="true"
        >
        <foreignkey field-ref="payPlanFK"/>
    </reference-descriptor>
</class-descriptor>

</descriptor-repository>

-----Original Message-----
From: Lemke, Wesley [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, March 15, 2005 8:26 AM
To: [email protected]
Subject: Abstract Parent Class


I am getting a really strange error when trying to change one of our
classes to an abstract class.  Here is our original mapping file:

<!-- All of our persistent objects extend this class  -->
<class-descriptor class="model.AdmObject">
        <extent-class class-ref="model.PayrollDeductionPlan" />
</class-descriptor>

<class-descriptor
    class="model.PayrollDeductionPlan"
    table="dexa810t"
    >
<!-- field-descriptors removed for the sake of brevity -->
</class-descriptor>

<!-- this class extends PayrollDeductionPlan --> <class-descriptor
    class="model.ClientPayrollDeductionPlan"
    table="dexa820t"
    >
<!-- field-descriptors removed for the sake of brevity -->
</class-descriptor>

My code works perfectly when it is like that, however, we want to make
PayrollDeductionPlan an abstract class, so I changed the mapping file to
be like this:

<class-descriptor class="model.AdmObject">
        <extent-class class-ref="model.PayrollDeductionPlan" />
</class-descriptor>

<class-descriptor
    class="model.PayrollDeductionPlan"
    table="dexa810t"
    >
        <extent-class class-ref="model.ClientPayrollDeductionPlan" />
</class-descriptor>


I also moved the field-descriptors from PayrollDeductionPlan to
ClientPayrollDeductionPlan, and declared the PayrollDeductionPlan as
abstract in the java code. When I run my code like this I get the
following error:

Error 500: Server caught unhandled exception from servlet
[servlets.InheritanceServlet]: Borrow broker from pool failed, using
PBKey org.apache.ojb.broker.PBKey: jcdAlias=mysqlDS, user=VKDB2T2,
password=***** 


I'm assuming that there is something else going on, the changes above
should not affect the database connection.  Here is the entire
stacktrace (The "INFO:  # finalize DescriptorRepository instance #" does
not show up when PayrollDeductionPlan is not abstract):

[3/15/05 8:22:26:101 CST] 4cab288f SystemOut     O [DEFAULT] INFO: #
finalize DescriptorRepository instance #
[3/15/05 8:22:27:493 CST] 39ad2883 WebGroup      E SRVE0026E: [Servlet
Error]-[servlets.InheritanceServlet]:
org.apache.ojb.broker.PBFactoryException: Borrow broker from pool
failed, using PBKey org.apache.ojb.broker.PBKey: jcdAlias=mysqlDS,
user=VKDB2T2, password=*****
        at
org.apache.ojb.broker.core.PersistenceBrokerFactoryDefaultImpl.createPer
sistenceBroker(Unknown Source)
        at
org.apache.ojb.broker.core.PersistenceBrokerFactoryBaseImpl.createPersis
tenceBroker(Unknown Source)
        at
org.apache.ojb.broker.PersistenceBrokerFactory.createPersistenceBroker(U
nknown Source)
        at
servlets.InheritanceServlet.doPost(InheritanceServlet.java:51)
        at servlets.InheritanceServlet.doGet(InheritanceServlet.java:40)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictSe
rvletInstance.java:110)
        at
com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLi
fecycleServlet.java:174)
        at
com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycle
Servlet.java:313)
        at
com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLif
ecycleServlet.java:116)
        at
com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.
java:283)
        at
com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(Vali
dServletReferenceState.java:42)
        at
com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(Servle
tInstanceReference.java:40)
        at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispa
tch(WebAppRequestDispatcher.java:948)
        at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRe
questDispatcher.java:530)
        at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppReq
uestDispatcher.java:176)
        at
com.ibm.ws.webcontainer.servlet.InvokerServlet.service(InvokerServlet.ja
va:255)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictSe
rvletInstance.java:110)
        at
com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLi
fecycleServlet.java:174)
        at
com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycle
Servlet.java:313)
        at
com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLif
ecycleServlet.java:116)
        at
com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.
java:283)
        at
com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(Vali
dServletReferenceState.java:42)
        at
com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(Servle
tInstanceReference.java:40)
        at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispa
tch(WebAppRequestDispatcher.java:948)
        at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRe
questDispatcher.java:530)
        at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppReq
uestDispatcher.java:176)
        at
com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:7
9)
        at
com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInv
oker.java:201)
        at
com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocati
on(CachedInvocation.java:71)
        at
com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(Servle
tRequestProcessor.java:182)
        at
com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSELis
tener.java:334)
        at
com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection
.java:56)
        at
com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:
610)
        at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:431)
        at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:593)
Caused by: org.apache.ojb.broker.metadata.MetadataException: Can't read
repository file 'repository.xml'
        at org.apache.ojb.broker.metadata.MetadataManager.init(Unknown
Source)
        at org.apache.ojb.broker.metadata.MetadataManager.<init>(Unknown
Source)
        at
org.apache.ojb.broker.metadata.MetadataManager.getInstance(Unknown
Source)
        at
org.apache.ojb.broker.core.PersistenceBrokerFactoryBaseImpl.createNewBro
kerInstance(Unknown Source)
        at
org.apache.ojb.broker.core.PersistenceBrokerFactoryDefaultImpl$PBKeyedPo
olableObjectFactory.makeObject(Unknown Source)
        at
org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject(Generic
KeyedObjectPool.java:747)
        ... 38 more
Caused by: java.lang.NullPointerException
        at
org.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java
:1194)
        at
org.apache.ojb.broker.metadata.RepositoryPersistor.readMetadataFromXML(U
nknown Source)
        at
org.apache.ojb.broker.metadata.RepositoryPersistor.buildRepository(Unkno
wn Source)
        at
org.apache.ojb.broker.metadata.RepositoryPersistor.readDescriptorReposit
ory(Unknown Source)
        ... 44 more
Caused by: java.lang.NullPointerException
        at
org.apache.ojb.broker.metadata.fieldaccess.AnonymousPersistentFieldHelpe
r.computeInheritedPersistentFields(Unknown Source)
        at
org.apache.ojb.broker.metadata.RepositoryXmlHandler.endDocument(Unknown
Source)
        at
org.apache.xerces.parsers.AbstractSAXParser.endDocument(AbstractSAXParse
r.java:725)
        at
org.apache.xerces.impl.XMLNamespaceBinder.endDocument(XMLNamespaceBinder
.java:704)
        at
org.apache.xerces.impl.dtd.XMLDTDValidator.endDocument(XMLDTDValidator.j
ava:998)
        at
org.apache.xerces.impl.XMLDocumentScannerImpl.endEntity(XMLDocumentScann
erImpl.java:455)
        at
org.apache.xerces.impl.XMLEntityManager.endEntity(XMLEntityManager.java:
1288)
        at
org.apache.xerces.impl.XMLEntityManager$EntityScanner.load(XMLEntityMana
ger.java(Compiled Code))
        at
org.apache.xerces.impl.XMLEntityManager$EntityScanner.skipSpaces(XMLEnti
tyManager.java(Compiled Code))
        at
org.apache.xerces.impl.XMLDocumentScannerImpl$TrailingMiscDispatcher.dis
patch(XMLDocumentScannerImpl.java:1011)
        at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDo
cumentFragmentScannerImpl.java:333)
        at
org.apache.xerces.parsers.StandardParserConfiguration.parse(StandardPars
erConfiguration.java:525)
        at
org.apache.xerces.parsers.StandardParserConfiguration.parse(StandardPars
erConfiguration.java:581)
        at org.apache.xerces.parsers.XMLParser.parse(XMLParser.java:147)
        at
org.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java
:1158)
        ... 47 more


Anyone have any ideas on what the problem could be?

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

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

Reply via email to