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]