Help Needed on Cayenne Geronimo Work

From: Lasantha Ranaweera (lasanth..pensource.lk)
Date: Sat Feb 24 2007 - 22:04:07 EST

  • Next message: Andrus Adamchik: "Re: (CAY-761) Add DV Modeler back to the HEAD."

    Hi Cayenne Experts,

    Currently I have been hitting with a problem of ClassCastException in my
    first JPA program of Geronimo/Caynne integration. I am unable to find out
    the exact problem since my knowledge of Cayenne architecture is pretty
    low. In the Geronimo side following is the line it gives this problem.

    Class clazz = classLoader.loadClass(persistenceProviderClassName);
    PersistenceProvider persistenceProvider =
    (PersistenceProvider)clazz.newInstance(); //here is the CCE Exception

    In Eclipse remote debugging enviroment it comes to Cayenne Provider class
    and it finishes default constructor without any errors. Does the Cayenne
    do anyting after creating the Provider instance when it comes to a server
    enviroment? I split two statements investigate more and list the
    interfaces in clazz variable. It lists PersistenceProvider interface
    correctly too. So I am wondering where is CCE occurs. I attached the error
    below but it doesn't give that much information. Any help please ...

    Additionally I didn't add any properties in persitence.xml file. I want to
    use Derby database to save JPA object too. Do I need to set
    org.apache.cayenne.jpa.jpaDataSourceFactory property, then what is the
    value it should be?

    <persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">

        <persistence-unit transaction-type="RESOURCE_LOCAL" name="openjpa-itest">
            <provider>org.apache.cayenne.jpa.Provider</provider>
            <class>org.apache.geronimo.itest.jpa.AllFieldTypes</class>
            <exclude-unlisted-classes/>

            <properties>
             <!--
                <property name="org.apache.cayenne.jpa.jpaDataSourceFactory"
    value=""/>
             -->
            </properties>
        </persistence-unit>
    </persistence>

    Thanks,
    Lasantha Ranaweera

    java.lang.ClassCastException: org.apache.cayenne.jpa.Provider
            at
    org.apache.geronimo.persistence.PersistenceUnitGBean.<init>(PersistenceUnitGBean.java:102)
            at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
    Method)
            at
    sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
            at
    sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
            at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
            at
    org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:936)
            at
    org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:267)
            at
    org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102)
            at
    org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:124)
            at
    org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:543)
            at
    org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:379)
            at
    org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:434)
            at
    org.apache.geronimo.kernel.config.KernelConfigurationManager.start(KernelConfigurationManager.java:188)
            at
    org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:527)
            at
    org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:508)
            at
    org.apache.geronimo.kernel.config.SimpleConfigurationManager$$FastClassByCGLIB$$ce77a924.invoke(<generated>)
            at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
            at
    org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
            at
    org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:127)
            at
    org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:855)
            at
    org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:239)
            at
    org.apache.geronimo.kernel.KernelGBean.invoke(KernelGBean.java:342)
            at
    org.apache.geronimo.kernel.KernelGBean$$FastClassByCGLIB$$1cccefc9.invoke(<generated>)
            at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
            at
    org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
            at
    org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:127)
            at
    org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:855)
            at
    org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:239)
            at
    org.apache.geronimo.system.jmx.MBeanGBeanBridge.invoke(MBeanGBeanBridge.java:168)
            at
    com.sun.jmx.mbeanserver.DynamicMetaDataImpl.invoke(DynamicMetaDataImpl.java:213)
            at com.sun.jmx.mbeanserver.MetaDataImpl.invoke(MetaDataImpl.java:220)
            at
    com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:815)
            at
    com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:784)
            at
    javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1408)
            at
    javax.management.remote.rmi.RMIConnectionImpl.access$100(RMIConnectionImpl.java:81)
            at
    javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1245)
            at java.security.AccessController.doPrivileged(Native Method)
            at
    javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1348)
            at
    javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:782)
            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
    sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:294)
            at sun.rmi.transport.Transport$1.run(Transport.java:153)
            at java.security.AccessController.doPrivileged(Native Method)
            at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
            at
    sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:466)
            at
    sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707)
            at java.lang.Thread.run(Thread.java:595)



    This archive was generated by hypermail 2.0.0 : Sat Feb 24 2007 - 22:04:38 EST