Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [eclipselink-users] Error when using Double in Entity on GlassFish v3

Copying users@glassfish to reach wider audience...

If you want to take advantage of Oracle specific enhancement of EclipseLink while running from V3, you can put the oracle drive jar in $DOMAIN_HOME/lib/ext (eg domain/domain1/lib/ext ) dir. This will make the driver to be loaded by extension class loader which lies above the classloader that loads EclipseLink (please see [1] for more details while the developer guide is being worked on) and hence visible to EclipseLink.

[1] https://glassfish.dev.java.net/servlets/ReadMsg?listName=dev&msgNo=8054

Thanks,
Mitesh

christopher delahunt wrote:
Hello,

When you use the Double, it is going through the Oracle9Platform class to convert it, which has a dependency on the oracle.sql.TIMESTAMP class. The oracle driver and the EclipseLink jar need to be
accessable by the same classloaders.
Best Regards,
Chris

Tim Hollosy wrote:
When you map them as Doubles you get
"java.lang.ClassNotFoundException: oracle.sql.TIMESTAMP" that's odd.

Did you try double primitive or float?

./tch



On Tue, Sep 30, 2008 at 9:54 AM, Wouter van Reeven <wouter@xxxxxxxxxxxxx> wrote:
Hi all,


As an active member of the GlassFish community I am involved in beta testing GlassFish v3. Last night I ran into a problem with EclipseLink on GFv3 build 26. When I reported the error on the quality GF mailinglist I was asked to post the
error to this list.

I have an Oracle XE database with a table with several NUMBER(3,1) columns. I am
using ojbdc14.jar which I copied into the GlassFish lib dir.

Whenever I map those columns to Integer members in my Entity the data is fetched
ok but as integer values which makes sense but is not what I want.

If I map them as Double like this

@Column(name = "MAG")
private Double mag;

and redeploy my app, I get the stacktrace I copied and pasted below. Any ideas?


Thanks, Wouter van Reeven

javax.ejb.EJBException
at com.sun.ejb.containers.BaseContainer.processSystemException(BaseContainer.java:4152) at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:4050) at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:3852) at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1512) at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1474) at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:195) at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:82)
   at $Proxy122.getAllPlanning(Unknown Source)
at nl.reeven.van.astro.jsf.PlanningBackingBean.getAllPlanning(PlanningBackingBean.java:27)
   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 javax.el.BeanELResolver.getValue(BeanELResolver.java:261)
at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:143) at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:72)
   at com.sun.el.parser.AstValue.getValue(AstValue.java:138)
at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:206)
   at javax.faces.component.UIData.getValue(UIData.java:609)
at org.ajax4jsf.component.UIDataAdaptor.getValue(UIDataAdaptor.java:1640) at org.ajax4jsf.component.SequenceDataAdaptor.getDataModel(SequenceDataAdaptor.java:48) at org.ajax4jsf.component.SequenceDataAdaptor.createDataModel(SequenceDataAdaptor.java:42) at org.richfaces.component.UIDataTable.createDataModel(UIDataTable.java:122) at org.ajax4jsf.component.UIDataAdaptor.getExtendedDataModel(UIDataAdaptor.java:621) at org.ajax4jsf.component.UIDataAdaptor.getRowCount(UIDataAdaptor.java:248) at org.richfaces.component.UIDatascroller.getRowCount(UIDatascroller.java:347) at org.richfaces.component.UIDatascroller.getPageCount(UIDatascroller.java:322) at org.richfaces.component.UIDatascroller.getPageCount(UIDatascroller.java:343) at org.richfaces.renderkit.html.DatascrollerTemplate.doEncodeEnd(DatascrollerTemplate.java:203) at org.richfaces.renderkit.html.DatascrollerTemplate.doEncodeEnd(DatascrollerTemplate.java:680) at org.ajax4jsf.renderkit.RendererBase.encodeEnd(RendererBase.java:135) at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:861) at org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:286) at org.ajax4jsf.renderkit.RendererBase.renderChildren(RendererBase.java:262) at org.richfaces.renderkit.html.PanelRenderer.doEncodeChildren(PanelRenderer.java:220) at org.richfaces.renderkit.html.PanelRenderer.doEncodeChildren(PanelRenderer.java:215) at org.ajax4jsf.renderkit.RendererBase.encodeChildren(RendererBase.java:121) at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:837)
   at javax.faces.component.UIComponent.encodeAll(UIComponent.java:936)
   at javax.faces.render.Renderer.encodeChildren(Renderer.java:148)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:837)
   at javax.faces.component.UIComponent.encodeAll(UIComponent.java:936)
   at javax.faces.component.UIComponent.encodeAll(UIComponent.java:942)
at com.sun.faces.application.ViewHandlerImpl.doRenderView(ViewHandlerImpl.java:271) at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:202) at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108) at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:196) at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:109)
   at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
   at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:431) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:337) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:218) at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:177)
   at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:267)
at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:380)
   at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:507)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:250) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:218) at org.apache.catalina.core.StandardWrapperValve.preInvoke(StandardWrapperValve.java:460) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:139) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:186) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:719) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:657)
   at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:96)
at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:187) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:719) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:657) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:651) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1030) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:142) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:719) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:657) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:651) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1030) at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:307) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:226) at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:180) at com.sun.grizzly.http.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:625) at com.sun.grizzly.http.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:562) at com.sun.grizzly.http.DefaultProcessorTask.process(DefaultProcessorTask.java:819) at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:152) at com.sun.enterprise.v3.services.impl.GlassfishProtocolChain.executeProtocolFilter(GlassfishProtocolChain.java:71) at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:103) at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:89) at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76) at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:67) at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:56) at com.sun.grizzly.util.WorkerThreadImpl.processTask(WorkerThreadImpl.java:325) at com.sun.grizzly.util.WorkerThreadImpl.run(WorkerThreadImpl.java:184)
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:245) at org.eclipse.persistence.mappings.foundation.AbstractDirectMapping.getFieldValue(AbstractDirectMapping.java:539) at org.eclipse.persistence.internal.expressions.QueryKeyExpression.getFieldValue(QueryKeyExpression.java:304) at org.eclipse.persistence.internal.expressions.ConstantExpression.printSQL(ConstantExpression.java:117) at org.eclipse.persistence.expressions.ExpressionOperator.printDuo(ExpressionOperator.java:1816) at org.eclipse.persistence.internal.expressions.CompoundExpression.printSQL(CompoundExpression.java:277) at org.eclipse.persistence.internal.expressions.RelationExpression.printSQL(RelationExpression.java:563) at org.eclipse.persistence.expressions.ExpressionOperator.printDuo(ExpressionOperator.java:1811) at org.eclipse.persistence.internal.expressions.CompoundExpression.printSQL(CompoundExpression.java:277) at org.eclipse.persistence.internal.expressions.ExpressionSQLPrinter.translateExpression(ExpressionSQLPrinter.java:288) at org.eclipse.persistence.internal.expressions.ExpressionSQLPrinter.printExpression(ExpressionSQLPrinter.java:118) at org.eclipse.persistence.internal.expressions.SQLSelectStatement.printSQL(SQLSelectStatement.java:1425) at org.eclipse.persistence.internal.databaseaccess.DatabasePlatform.printSQLSelectStatement(DatabasePlatform.java:2508) at org.eclipse.persistence.platform.database.OraclePlatform.printSQLSelectStatement(OraclePlatform.java:696) at org.eclipse.persistence.internal.expressions.SQLSelectStatement.buildCall(SQLSelectStatement.java:742) at org.eclipse.persistence.descriptors.ClassDescriptor.buildCallFromStatement(ClassDescriptor.java:610) at org.eclipse.persistence.internal.queries.StatementQueryMechanism.setCallFromStatement(StatementQueryMechanism.java:387) at org.eclipse.persistence.internal.queries.StatementQueryMechanism.prepareSelectAllRows(StatementQueryMechanism.java:313) at org.eclipse.persistence.internal.queries.ExpressionQueryMechanism.prepareSelectAllRows(ExpressionQueryMechanism.java:1552) at org.eclipse.persistence.queries.ReadAllQuery.prepareSelectAllRows(ReadAllQuery.java:849) at org.eclipse.persistence.queries.ReadAllQuery.prepare(ReadAllQuery.java:787) at org.eclipse.persistence.queries.DatabaseQuery.checkPrepare(DatabaseQuery.java:463) at org.eclipse.persistence.queries.ObjectLevelReadQuery.checkPrepare(ObjectLevelReadQuery.java:616) at org.eclipse.persistence.queries.DatabaseQuery.prepareCall(DatabaseQuery.java:1533) at org.eclipse.persistence.internal.jpa.EJBQueryImpl.getDatabaseQuery(EJBQueryImpl.java:449) at org.eclipse.persistence.internal.jpa.EJBQueryImpl.setAsSQLReadQuery(EJBQueryImpl.java:117) at org.eclipse.persistence.internal.jpa.EJBQueryImpl.getResultList(EJBQueryImpl.java:503) at nl.reeven.van.astro.db.session.PlanningBean.getAllPlanning(PlanningBean.java:24)
   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.BaseContainer.invokeTargetBeanMethod(BaseContainer.java:3161) at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:4269) at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:187)
   ... 86 more
Caused by: java.lang.ClassNotFoundException: oracle.sql.TIMESTAMP
at org.apache.felix.framework.searchpolicy.R4SearchPolicyCore.findClass(R4SearchPolicyCore.java:198) at org.apache.felix.framework.searchpolicy.R4SearchPolicy.findClass(R4SearchPolicy.java:45) at org.apache.felix.framework.searchpolicy.ContentClassLoader.loadClass(ContentClassLoader.java:109)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
   at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
   ... 122 more
Caused by: java.lang.ClassNotFoundException: oracle.sql.TIMESTAMP
at org.apache.felix.framework.searchpolicy.R4SearchPolicyCore.findClassOrResource(R4SearchPolicyCore.java:486) at org.apache.felix.framework.searchpolicy.R4SearchPolicyCore.findClass(R4SearchPolicyCore.java:185)
   ... 126 more
|#]



--

People: "If she weighs the same as a Duck, she's made of wood!"
Sir Bedevere: "And therefore...?"
_______________________________________________
eclipselink-users mailing list
eclipselink-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/eclipselink-users

_______________________________________________
eclipselink-users mailing list
eclipselink-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/eclipselink-users
_______________________________________________
eclipselink-users mailing list
eclipselink-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/eclipselink-users


Back to the top