users@glassfish.java.net

Re: Using TopLink 11g on Glassfish V2

From: Tom Ware <tom.ware_at_oracle.com>
Date: Mon, 21 Jan 2008 08:53:17 -0500

Here is the bug that tracks this issue:

https://glassfish.dev.java.net/issues/show_bug.cgi?id=4005

It is approved for the next GlassFish version.

The only workaround involves a bit of hacking. In TopLink 11g, if you
create an empty subclass of
oracle.toplink.platform.server.sunas.SunAS9ServerPlatform and call it
oracle.toplink.essentials.platform.server.sunas.SunAS9ServerPlatform and
get GlassFish to load that class ahead of the TopLink Essentials
classes, it will likely work.

-Tom


glassfish_at_javadesktop.org wrote:
> Has anyone had any success, or know if it is possible, to get Toplink 11g up and running in place of TopLink essentials?
>
> In my persistence.xml, I changed the provider element from
>
> <provider>oracle.toplink.essentials.PersistenceProvider</provider>
>
> to
>
> <provider>oracle.toplink.PersistenceProvider</provider>
>
> but then I got a the error:
>
> Exception [TOPLINK-28018] (Oracle TopLink - 11g Technology Preview 3 (11.1.1.0.0) (Build 071214)): oracle.toplink.exceptions.EntityManagerSetupException
> Exception Description: Predeployment of PersistenceUnit [mpersistenceUnit] failed.
> Internal Exception: Exception [TOPLINK-28007] (Oracle TopLink - 11g Technology Preview 3 (11.1.1.0.0) (Build 071214)): oracle.toplink.exceptions.EntityManagerSetupException
> Exception Description: Failed to instantiate ServerPlatform of type [oracle.toplink.essentials.platform.server.sunas.SunAS9ServerPlatform] specified in [toplink.target-server] property.
> Internal Exception: java.lang.NoSuchMethodException: oracle.toplink.essentials.platform.server.sunas.SunAS9ServerPlatform.<init>(oracle.toplink.sessions.DatabaseSession)
>
>
> Thinking that this was because some internal part was still trying to use the toplink.essentials, I added the following properties to the persistence.xml file:
>
> <property name="toplink.target-server" value="oracle.toplink.platform.server.sunas.SunAS9ServerPlatform"/>
>
> <property name="toplink.server.platform.class.name" value="oracle.toplink.platform.server.sunas.SunAS9ServerPlatform"/>
>
> This produced the slightly different error:
>
> Exception [TOPLINK-28018] (Oracle TopLink - 11g Technology Preview 3 (11.1.1.0.0) (Build 071214)): oracle.toplink.exceptions.EntityManagerSetupException
> Exception Description: Predeployment of PersistenceUnit [mypersistenceUnit] failed.
> Internal Exception: Exception [TOPLINK-28007] (Oracle TopLink - 11g Technology Preview 3 (11.1.1.0.0) (Build 071214)): oracle.toplink.exceptions.EntityManagerSetupException
> Exception Description: Failed to instantiate ServerPlatform of type [oracle.toplink.platform.server.sunas.SunAS9ServerPlatform] specified in [toplink.target-server] property.
> Internal Exception: java.lang.NoSuchMethodException: oracle.toplink.platform.server.sunas.SunAS9ServerPlatform.<init>(oracle.toplink.sessions.DatabaseSession)
>
> Here is the stack trace:
>
> at oracle.toplink.internal.ejb.cmp3.EntityManagerSetupImpl.predeploy(EntityManagerSetupImpl.java:790)
> at oracle.toplink.PersistenceProvider.createContainerEntityManagerFactory(PersistenceProvider.java:146)
> at com.sun.enterprise.server.PersistenceUnitLoaderImpl.load(PersistenceUnitLoaderImpl.java:149)
> at com.sun.enterprise.server.PersistenceUnitLoaderImpl.load(PersistenceUnitLoaderImpl.java:84)
> at com.sun.enterprise.server.AbstractLoader.loadPersistenceUnits(AbstractLoader.java:898)
> at com.sun.enterprise.server.ApplicationLoader.doLoad(ApplicationLoader.java:184)
> at com.sun.enterprise.server.TomcatApplicationLoader.doLoad(TomcatApplicationLoader.java:126)
> at com.sun.enterprise.server.AbstractLoader.load(AbstractLoader.java:244)
> at com.sun.enterprise.server.ApplicationManager.applicationDeployed(ApplicationManager.java:336)
> at com.sun.enterprise.server.ApplicationManager.applicationDeployed(ApplicationManager.java:210)
> at com.sun.enterprise.server.ApplicationManager.applicationDeployed(ApplicationManager.java:645)
> at com.sun.enterprise.admin.event.AdminEventMulticaster.invokeApplicationDeployEventListener(AdminEventMulticaster.java:928)
> at com.sun.enterprise.admin.event.AdminEventMulticaster.handleApplicationDeployEvent(AdminEventMulticaster.java:912)
> at com.sun.enterprise.admin.event.AdminEventMulticaster.processEvent(AdminEventMulticaster.java:461)
> at com.sun.enterprise.admin.event.AdminEventMulticaster.multicastEvent(AdminEventMulticaster.java:176)
> at com.sun.enterprise.admin.server.core.DeploymentNotificationHelper.multicastEvent(DeploymentNotificationHelper.java:308)
> at com.sun.enterprise.deployment.phasing.DeploymentServiceUtils.multicastEvent(DeploymentServiceUtils.java:226)
> at com.sun.enterprise.deployment.phasing.ServerDeploymentTarget.sendStartEvent(ServerDeploymentTarget.java:298)
> at com.sun.enterprise.deployment.phasing.ApplicationStartPhase.runPhase(ApplicationStartPhase.java:132)
> at com.sun.enterprise.deployment.phasing.DeploymentPhase.executePhase(DeploymentPhase.java:108)
> at com.sun.enterprise.deployment.phasing.PEDeploymentService.executePhases(PEDeploymentService.java:919)
> at com.sun.enterprise.deployment.phasing.PEDeploymentService.start(PEDeploymentService.java:591)
> at com.sun.enterprise.deployment.phasing.PEDeploymentService.start(PEDeploymentService.java:635)
> at com.sun.enterprise.admin.mbeans.ApplicationsConfigMBean.start(ApplicationsConfigMBean.java:744)
> 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.enterprise.admin.MBeanHelper.invokeOperationInBean(MBeanHelper.java:375)
> at com.sun.enterprise.admin.MBeanHelper.invokeOperationInBean(MBeanHelper.java:358)
> at com.sun.enterprise.admin.config.BaseConfigMBean.invoke(BaseConfigMBean.java:464)
> at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
> at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
> at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at com.sun.enterprise.admin.util.proxy.ProxyClass.invoke(ProxyClass.java:90)
> at $Proxy1.invoke(Unknown Source)
> at com.sun.enterprise.admin.server.core.jmx.SunoneInterceptor.invoke(SunoneInterceptor.java:304)
> at com.sun.enterprise.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:174)
> at com.sun.enterprise.admin.jmx.remote.server.callers.InvokeCaller.call(InvokeCaller.java:69)
> at com.sun.enterprise.admin.jmx.remote.server.MBeanServerRequestHandler.handle(MBeanServerRequestHandler.java:155)
> at com.sun.enterprise.admin.jmx.remote.server.servlet.RemoteJmxConnectorServlet.processRequest(RemoteJmxConnectorServlet.java:122)
> at com.sun.enterprise.admin.jmx.remote.server.servlet.RemoteJmxConnectorServlet.doPost(RemoteJmxConnectorServlet.java:193)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:738)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
> at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:317)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
> at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:196)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:198)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:288)
> at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202)
> at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
> at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
> at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206)
> at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
> at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
> at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150)
> at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
> at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
> at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
> at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:270)
> at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637)
> at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568)
> at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813)
> at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:339)
> at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:261)
> at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:212)
> at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
> at com.sun.enterprise.web.connector.grizzly.WorkerThreadImpl.run(WorkerThreadImpl.java:116)
>
>
> Both errors seem to point out that the expected SunAS9ServerPlatform constructor that takes a oracle.toplink.sessions.DatabaseSession parameter does not exist.
>
> I'm not really sure what to do next. Can anybody help?
> [Message sent by forum member 'sed108' (sed108)]
>
> http://forums.java.net/jive/thread.jspa?messageID=254918
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_glassfish.dev.java.net
> For additional commands, e-mail: users-help_at_glassfish.dev.java.net
>
>
>