Hi,

I have a poblem using OJB 1.0.3 with Oracle9i, when I try to connect to
datasource defined with jndi in tomcat 5, if I define the datasource in
repository it works.


Ojb returns:

Class org.apache.ojb.broker.platforms.PlatformOracle9iImpl can not
access a member of class
org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper
with modifiers "public"




My repository is:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE descriptor-repository PUBLIC
       "-//Apache Software Foundation//DTD OJB Repository//EN"
       "repository.dtd"
[

<!ENTITY internal SYSTEM "repository_internal.xml">
]>


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

        <jdbc-connection-descriptor             
                jcd-alias="PEOPLE_DB" 
                jndi-datasource-name="java:comp/env/jdbc/LegacyDB"
                default-connection="true"
                platform="Oracle9i" 
                jdbc-level="2.0"
                useAutoCommit="1">

                <sequence-manager
className="org.apache.ojb.broker.util.sequence.SequenceManagerNextValImp
l">
                        <attribute attribute-name="autoNaming"
attribute-value="true"/>
                </sequence-manager>
        </jdbc-connection-descriptor>
        
        <!-- PEOPLE_DB Oracle -->
        <!--
        <jdbc-connection-descriptor 
                jcd-alias="PEOPLE_DB" 
                default-connection="true" 
                platform="Oracle9i" 
                jdbc-level="2.0" 
                driver="oracle.jdbc.driver.OracleDriver" 
                protocol="jdbc" 
                subprotocol="oracle" 
                dbalias="thin:@ORA9.CEDAFPRIV.IT:1521:ora9" 
                username="people1" 
                password="people1" 
                useAutoCommit="1">
                <connection-pool maxActive="1000" maxIdle="10"
whenExhaustedAction="2" 
                        testOnBorrow="true"
timeBetweenEvictionRunsMillis="5000"/>
                <sequence-manager
className="org.apache.ojb.broker.util.sequence.SequenceManagerNextValImp
l">
                        <attribute attribute-name="autoNaming"
attribute-value="true"/>
                </sequence-manager>
                <!-
                <sequence-manager
className="org.apache.ojb.broker.util.sequence.SequenceManagerInMemoryIm
pl">
                        <attribute attribute-name="sequenceStart"
attribute-value="0"/>
                        <attribute attribute-name="autoNaming"
attribute-value="true"/>
                </sequence-manager>
                ->
        </jdbc-connection-descriptor>
        -->
        
        <CUT>
        <!-- include mappings for JUnit tests here -->
        <!-- include ojb internal mappings here -->
    &internal;

</descriptor-repository>





The Connection-Pool is defined as follows in the server.xml:

    <Resource type="javax.sql.DataSource" name="people/LegacyDB"/>

    <ResourceParams name="people/LegacyDB">
      <parameter>
        <name>url</name>
        <value>jdbc:oracle:thin:@ORA9.CEDAFPRIV.IT:1521:ora9</value>
      </parameter>
      <parameter>
        <name>password</name>
        <value>people1</value>
      </parameter>
      <parameter>
        <name>maxActive</name>
        <value>8</value>
      </parameter>
      <parameter>
        <name>maxWait</name>
        <value>5000</value>
      </parameter>
      <parameter>
        <name>driverClassName</name>
        <value>oracle.jdbc.driver.OracleDriver</value>
      </parameter>
      <parameter>
        <name>username</name>
        <value>xxxxx</value>
      </parameter>
      <parameter>
        <name>maxIdle</name>
        <value>4</value>
      </parameter>
    </ResourceParams>


The error is:

202918 [http-8080-Processor25] DEBUG
org.apache.ojb.broker.platforms.PlatformOracle9iImpl  - genericUnwrap
failed
java.lang.IllegalAccessException: Class
org.apache.ojb.broker.platforms.PlatformOracle9iImpl can not access a
member of class
org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper
with modifiers "public"
        at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:57)
        at java.lang.reflect.Method.invoke(Method.java:317)
        at
org.apache.ojb.broker.platforms.PlatformOracle9iImpl.genericUnwrap(Unkno
wn Source)
        at
org.apache.ojb.broker.platforms.PlatformOracle9iImpl.unwrapConnection(Un
known Source)
        at
org.apache.ojb.broker.platforms.PlatformOracle9iImpl.initializeJdbcConne
ction(Unknown Source)
        at
org.apache.ojb.broker.accesslayer.ConnectionFactoryAbstractImpl.initiali
zeJdbcConnection(Unknown Source)
        at
org.apache.ojb.broker.accesslayer.ConnectionFactoryAbstractImpl.newConne
ctionFromDataSource(Unknown Source)
        at
org.apache.ojb.broker.accesslayer.ConnectionFactoryAbstractImpl.lookupCo
nnection(Unknown Source)
        at
org.apache.ojb.broker.accesslayer.ConnectionFactoryManagedImpl.lookupCon
nection(Unknown Source)
        at
org.apache.ojb.broker.accesslayer.ConnectionManagerImpl.getConnection(Un
known Source)
        at
org.apache.ojb.broker.accesslayer.StatementManager.getPreparedStatement(
Unknown Source)
        at
org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeQuery(Unknown
Source)
        at
org.apache.ojb.broker.accesslayer.RsQueryObject.performQuery(Unknown
Source)
        at org.apache.ojb.broker.accesslayer.RsIterator.<init>(Unknown
Source)
        at
org.apache.ojb.broker.core.RsIteratorFactoryImpl.createRsIterator(Unknow
n Source)
        at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getRsIteratorFromQuery(
Unknown Source)
        at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getIteratorFromQuery(Un
known Source)
        at
org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Unk
nown Source)
        at
org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Unk
nown Source)
        at
org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Unk
nown Source)
        at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Un
known Source)
        at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQu
ery(Unknown Source)
        at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQu
ery(Unknown Source)
        at
it.people.core.persistence.CommunePersistenceMgr.doGet(CommunePersistenc
eMgr.java:41)
        at
it.people.core.persistence.PersistenceManager.get(PersistenceManager.jav
a:129)
        at it.people.core.CommuneFactory.read(CommuneFactory.java:84)
        at it.people.core.CommuneFactory.get(CommuneFactory.java:65)
        at
it.people.action.InitProcess.createPplProcess(InitProcess.java:219)
        at it.people.action.InitProcess.execute(InitProcess.java:147)
        at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestPr
ocessor.java:484)
        at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:
274)
        at
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
        at
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:237)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:157)
        at
it.people.sirac.filters.SiracAuthorizationFilter.doFilter(SiracAuthoriza
tionFilter.java:208)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:186)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:157)
        at
it.people.sirac.filters.SiracAuthenticationFilter.doFilter(SiracAuthenti
cationFilter.java:242)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:186)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:157)
        at
it.people.sirac.filters.SiracServiceProfileLoaderFilter.doFilter(SiracSe
rviceProfileLoaderFilter.java:213)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:186)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:157)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv
e.java:214)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:104)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:5
20)
        at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardCon
textValve.java:198)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv
e.java:152)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:104)
        at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authenticator
Base.java:462)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:102)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:5
20)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
:137)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:104)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
:118)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:102)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:5
20)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.
java:109)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:104)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:5
20)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
        at
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
        at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:79
9)
        at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processC
onnection(Http11Protocol.java:705)
        at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:57
7)
        at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool
.java:683)
        at java.lang.Thread.run(Thread.java:534)


Thank's a lot for any advice


Michele Fabbri
Cedaf s.r.l.
Business Unit Pubblica Amministrazione
email: [EMAIL PROTECTED]


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

Reply via email to