If I don't set "openjpa.ConnectionDriverName" (and even if I set " openjpa.ConnectionFactory" with my datasource instance) I get the "A JDBC Driver or DataSource class name must be specified in the ConnectionDriverName property" error. So I'm getting more and more confused as to which properties I should set...
On 1/8/07, Marc Prud'hommeaux <[EMAIL PROTECTED]> wrote:
Matthieu- I think you want "openjpa.ConnectionFactory", not "openjpa.ConnectionDriverName". On Jan 8, 2007, at 9:45 AM, Matthieu Riou wrote: > Hi, > > I've just tried your fix after compiling the OpenJPA trunk. I'm > getting a > ClassCastException as the openjpa.ConnectionDriverName is set as a > StringValue. Should I use another property instead? > > My code: > > propMap.put("openjpa.jdbc.DBDictionary", " > org.apache.openjpa.jdbc.sql.DerbyDictionary"); > propMap.put("openjpa.ManagedRuntime", new TxMgrProvider()); > propMap.put("openjpa.ConnectionDriverName", _datasource); > propMap.put("openjpa.Log", "DefaultLevel=TRACE"); > EntityManagerFactory emf = > Persistence.createEntityManagerFactory("ode-dao", > propMap); > EntityManager em = emf.createEntityManager(); > > The exception: > > <0|true|0.9.7-incubating-SNAPSHOT> > org.apache.openjpa.persistence.PersistenceException: There was an > error when > invoking the static newInstance method on the named factory class " > org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory". See the nested > exception > for details. > at org.apache.openjpa.kernel.Bootstrap.newBrokerFactory( > Bootstrap.java:62) > at > org.apache.openjpa.persistence.PersistenceProviderImpl.createEntityMan > agerFactory > (PersistenceProviderImpl.java:70) > at > org.apache.openjpa.persistence.PersistenceProviderImpl.createEntityMan > agerFactory > (PersistenceProviderImpl.java:78) > at javax.persistence.Persistence.createEntityManagerFactory( > Persistence.java:83) > at org.apache.ode.axis2.ODEServerJPA.initJPA > (ODEServerJPA.java:345) > at org.apache.ode.axis2.ODEServerJPA.init(ODEServerJPA.java:96) > at org.apache.ode.axis2.hooks.ODEAxisServlet.init( > ODEAxisServlet.java:50) > at org.apache.catalina.core.StandardWrapper.loadServlet( > StandardWrapper.java:1105) > at org.apache.catalina.core.StandardWrapper.load( > StandardWrapper.java:932) > at org.apache.catalina.core.StandardContext.loadOnStartup( > StandardContext.java:3917) > at org.apache.catalina.core.StandardContext.start( > StandardContext.java:4201) > at org.apache.catalina.core.ContainerBase.addChildInternal( > ContainerBase.java:759) > at org.apache.catalina.core.ContainerBase.addChild( > ContainerBase.java:739) > at org.apache.catalina.core.StandardHost.addChild > (StandardHost.java > :524) > at org.apache.catalina.startup.HostConfig.deployWAR > (HostConfig.java > :809) > at org.apache.catalina.startup.HostConfig.deployWARs > (HostConfig.java > :698) > at org.apache.catalina.startup.HostConfig.deployApps > (HostConfig.java > :472) > at org.apache.catalina.startup.HostConfig.start(HostConfig.java > :1122) > at org.apache.catalina.startup.HostConfig.lifecycleEvent( > HostConfig.java:310) > at > org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent( > LifecycleSupport.java:119) > at org.apache.catalina.core.ContainerBase.start > (ContainerBase.java > :1021) > at org.apache.catalina.core.StandardHost.start > (StandardHost.java > :718) > at org.apache.catalina.core.ContainerBase.start > (ContainerBase.java > :1013) > at org.apache.catalina.core.StandardEngine.start > (StandardEngine.java > :442) > at org.apache.catalina.core.StandardService.start( > StandardService.java:450) > at org.apache.catalina.core.StandardServer.start > (StandardServer.java > :709) > at org.apache.catalina.startup.Catalina.start(Catalina.java: > 551) > 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:585) > at org.apache.catalina.startup.Bootstrap.start > (Bootstrap.java:294) > at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java: > 432) > Caused by: org.apache.openjpa.lib.util.ParseException: > ConnectionDriverName: > [EMAIL PROTECTED] > at org.apache.openjpa.lib.conf.Value.setObject(Value.java:298) > at > org.apache.openjpa.lib.conf.ConfigurationImpl.fromProperties( > ConfigurationImpl.java:627) > at > org.apache.openjpa.lib.conf.MapConfigurationProvider.setInto( > MapConfigurationProvider.java:82) > at > org.apache.openjpa.persistence.PersistenceProductDerivation > $ConfigurationProviderImpl.setInto > (PersistenceProductDerivation.java:406) > at > org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.newInstance( > JDBCBrokerFactory.java:56) > 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:585) > at org.apache.openjpa.kernel.Bootstrap.invokeFactory > (Bootstrap.java > :117) > at org.apache.openjpa.kernel.Bootstrap.newBrokerFactory( > Bootstrap.java:57) > ... 32 more > Caused by: java.lang.ClassCastException: > org.opentools.minerva.connector.jdbc.JDBCDataSource > at org.apache.openjpa.lib.conf.StringValue.setInternalObject( > StringValue.java:63) > at org.apache.openjpa.lib.conf.Value.setObject(Value.java:294) > ... 42 more > > Thanks! > > Matthieu > > On 1/3/07, Abe White <[EMAIL PROTECTED]> wrote: >> >> SVN revision 492368 no long ignores non-String values for openjpa.* >> keys in the Map passed to Persistence.createEntityManagerFactory. >> _____________________________________________________________________ >> __ >> Notice: This email message, together with any attachments, may >> contain >> information of BEA Systems, Inc., its subsidiaries and >> affiliated >> entities, that may be confidential, proprietary, copyrighted >> and/or >> legally privileged, and is intended solely for the use of the >> individual >> or entity named in this message. If you are not the intended >> recipient, >> and have received this message in error, please immediately return >> this >> by email and then delete it. >>