Hi Matthias,
Can you use ojdbc6.jar instead of ojdbc14.jar and see if that helps?
Also, can you post your persistence.xml so we can see how you configured
JPA?
Thanks, Wouter
On Tue, Sep 29, 2009 at 05:38:57PM +0200, matthias.fraass_at_tricoder.net wrote:
> Hi everyone,
>
> (I think) after upgrading via Update-Tool to b65, my Entities stopped working:
> Apparently there's a Problem with Oracle DB driver classes?
> I've debugged a bit: the results are returned by the DB, but when converting
> the data types, oracle.sql.TIMESTAMP cannot be found.
> I setup GF in debugging mode and hooked on the ClassNotFoundException. When it
> was caught, not even Class.forName("oracle.jdbc.driver.OracleDriver") was
> successful. But it *has* to be loaded by JPA/EclipseLink - otherwise
> Eclipselink woudln't start to parse the DB reply in
> "org.eclipse.persistence.platform.database.oracle.Oracle9Platform.convertObject
> (Oracle9Platform.java:280)", wouldn't it?
> Is this a felix classloader problem?
> Or did I miss some changes about lib/ext?
>
> I've deployed that successfully for weeks. It still works in my parallel GF v2
> setup.
> The oracle classes are in glassfish\domains\domain1\lib\ext\ojdbc14.jar.
>
> Here's the stacktrace:
>
> javax.ejb.EJBException
> at com.sun.ejb.containers.BaseContainer.processSystemException
> (BaseContainer.java:4943)
> at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:4841)
> at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:4629)
> at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1867)
> at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1823)
> at com.sun.ejb.containers.EJBObjectInvocationHandler.invoke
> (EJBObjectInvocationHandler.java:208)
> at com.sun.ejb.containers.EJBObjectInvocationHandlerDelegate.invoke
> (EJBObjectInvocationHandlerDelegate.java:75)
> at $Proxy182.findItemoptioneffortById(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:597)
> at com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke
> (ReflectiveTie.java:156)
> at
> com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant
> (CorbaServerRequestDispatcherImpl.java:682)
> at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch
> (CorbaServerRequestDispatcherImpl.java:216)
> at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest
> (CorbaMessageMediatorImpl.java:1831)
> at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest
> (CorbaMessageMediatorImpl.java:1685)
> at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput
> (CorbaMessageMediatorImpl.java:1068)
> at com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback
> (RequestMessage_1_2.java:221)
> at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest
> (CorbaMessageMediatorImpl.java:787)
> at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.dispatch
> (CorbaMessageMediatorImpl.java:551)
> at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.doWork
> (CorbaMessageMediatorImpl.java:2548)
> at
> com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.performWork
> (ThreadPoolImpl.java:492)
> at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run
> (ThreadPoolImpl.java:527)
> Caused by: java.lang.NoClassDefFoundError: oracle/sql/TIMESTAMP
> at org.eclipse.persistence.internal.platform.database.oracle.TIMESTAMPTypes.
> <clinit>(TIMESTAMPTypes.java:22)
> at
> org.eclipse.persistence.platform.database.oracle.Oracle9Platform.convertObject
> (Oracle9Platform.java:280)
> at
> org.eclipse.persistence.mappings.foundation.AbstractDirectMapping.getAttributeValue
> (AbstractDirectMapping.java:642)
> at
> org.eclipse.persistence.mappings.foundation.AbstractDirectMapping.valueFromRow
> (AbstractDirectMapping.java:1185)
> at org.eclipse.persistence.mappings.DatabaseMapping.readFromRowIntoObject
> (DatabaseMapping.java:1219)
> at
> org.eclipse.persistence.internal.descriptors.ObjectBuilder.buildAttributesIntoObject
> (ObjectBuilder.java:329)
> at org.eclipse.persistence.internal.descriptors.ObjectBuilder.buildObject
> (ObjectBuilder.java:658)
> at
> org.eclipse.persistence.internal.descriptors.ObjectBuilder.buildWorkingCopyCloneNormally
> (ObjectBuilder.java:580)
> at
> org.eclipse.persistence.internal.descriptors.ObjectBuilder.buildObjectInUnitOfWork
> (ObjectBuilder.java:549)
> at org.eclipse.persistence.internal.descriptors.ObjectBuilder.buildObject
> (ObjectBuilder.java:489)
> at org.eclipse.persistence.internal.descriptors.ObjectBuilder.buildObject
> (ObjectBuilder.java:441)
> at org.eclipse.persistence.queries.ObjectLevelReadQuery.buildObject
> (ObjectLevelReadQuery.java:635)
> at org.eclipse.persistence.queries.ObjectLevelReadQuery.conformIndividualResult
> (ObjectLevelReadQuery.java:799)
> at org.eclipse.persistence.queries.ReadObjectQuery.conformResult
> (ReadObjectQuery.java:346)
> at org.eclipse.persistence.queries.ReadObjectQuery.registerResultInUnitOfWork
> (ReadObjectQuery.java:720)
> at org.eclipse.persistence.queries.ReadObjectQuery.executeObjectLevelReadQuery
> (ReadObjectQuery.java:438)
> at org.eclipse.persistence.queries.ObjectLevelReadQuery.executeDatabaseQuery
> (ObjectLevelReadQuery.java:997)
> at org.eclipse.persistence.queries.DatabaseQuery.execute
> (DatabaseQuery.java:670)
> at org.eclipse.persistence.queries.ObjectLevelReadQuery.execute
> (ObjectLevelReadQuery.java:958)
> at org.eclipse.persistence.queries.ReadObjectQuery.execute
> (ReadObjectQuery.java:399)
> at org.eclipse.persistence.queries.ObjectLevelReadQuery.executeInUnitOfWork
> (ObjectLevelReadQuery.java:1021)
> at
> org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery
> (UnitOfWorkImpl.java:2864)
> at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery
> (AbstractSession.java:1208)
> at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery
> (AbstractSession.java:1190)
> at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery
> (AbstractSession.java:1150)
> at org.eclipse.persistence.internal.jpa.EntityManagerImpl.executeQuery
> (EntityManagerImpl.java:646)
> at org.eclipse.persistence.internal.jpa.EntityManagerImpl.findInternal
> (EntityManagerImpl.java:590)
> at org.eclipse.persistence.internal.jpa.EntityManagerImpl.find
> (EntityManagerImpl.java:494)
> at org.eclipse.persistence.internal.jpa.EntityManagerImpl.find
> (EntityManagerImpl.java:373)
> at com.sun.enterprise.container.common.impl.EntityManagerWrapper.find
> (EntityManagerWrapper.java:311)
> at de.osp.test.jpa.SomeBean.findItemoptioneffortById(SomeBean.java:42)
> 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:597)
> at org.glassfish.ejb.security.application.EJBSecurityManager.runMethod
> (EJBSecurityManager.java:1038)
> at org.glassfish.ejb.security.application.EJBSecurityManager.invoke
> (EJBSecurityManager.java:1110)
> at com.sun.ejb.containers.BaseContainer.invokeBeanMethod
> (BaseContainer.java:5116)
> at com.sun.ejb.EjbInvocation.invokeBeanMethod(EjbInvocation.java:610)
> at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext
> (InterceptorManager.java:775)
> at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:562)
> at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doAround
> (SystemInterceptorProxy.java:157)
> at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.aroundInvoke
> (SystemInterceptorProxy.java:139)
> 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:597)
> at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept
> (InterceptorManager.java:836)
> at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext
> (InterceptorManager.java:775)
> at com.sun.ejb.containers.interceptors.InterceptorManager.intercept
> (InterceptorManager.java:349)
> at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:5088)
> at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:5076)
> at com.sun.ejb.containers.EJBObjectInvocationHandler.invoke
> (EJBObjectInvocationHandler.java:201)
> ... 18 more
> Caused by: java.lang.ClassNotFoundException: oracle.sql.TIMESTAMP
> at org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation
> (ModuleImpl.java:726)
> at org.apache.felix.framework.ModuleImpl.access$100(ModuleImpl.java:60)
> at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass
> (ModuleImpl.java:1631)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
> ... 71 more
>
> Any suggestions?
>
> -Matthias
>
--
Veel shit is mest voor de toekomst.
[Unknown Source]
Skype: wvreeven
Facebook: wvreeven
Twitter: wvreeven