[ 
https://issues.apache.org/jira/browse/GERONIMO-2891?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Lasantha Ranaweera updated GERONIMO-2891:
-----------------------------------------

    Attachment: GERONIMO-2891.patch

This is an initial work of Geronimo Kayene integration for JPA. Following is 
the way how we can use Geronimo source code to use Cayenne as their JPA 
provider (we have to improve these steps as we move in to more deep on the 
work).
1. Apply the GERONIMO-2891.patch & JPA.patch to the latest Geronimo source code 
(applying of JPA.patch is unnecessary for this samples if the GERONIMO-2899 has 
been applied).
2. Uncomment the cayenne dependency in your geronimo-jetty6-jee5 or 
geronimo-tomcat6-jee5.
3. Build Geronimo from the source code & extract it in to the GERONIMO_HOME.
4. Copy & paste the cayenne-agent-3.0-SNAPSHOT.jar in to the extracted 
GERONIMO_HOME/lib folder.
5. Start the server using 'java -javaagent:lib/cayenne-agent-3.0-SNAPSHOT.jar  
-jar bin/server.jar' command from GERONIMO_HOME folder.
6. Apply the sample.patch to your G source code repo to get the JPA sample get 
going with Cayenne.
7. Use 'mvn -P child' to run the JPA sample application in jpa-tests.

Still getting the following exception.

org.apache.cayenne.jpa.JpaProviderException: Error loading ORM descriptors
        at 
org.apache.cayenne.jpa.conf.EntityMapLoader.loadEntityMap(EntityMapLoader.java:105)
        at 
org.apache.cayenne.jpa.conf.EntityMapLoader.<init>(EntityMapLoader.java:77)
        at 
org.apache.cayenne.jpa.Provider.createContainerEntityManagerFactory(Provider.java:222)
        at 
org.apache.geronimo.persistence.PersistenceUnitGBean.<init>(PersistenceUnitGBean.java:95)
        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:530)
        at 
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:511)
        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)
Caused by: java.lang.NullPointerException
        at 
org.apache.cayenne.jpa.conf.ClassAnnotationProcessorFactory$EntityProcessor.onStartElement(ClassAnnotationProcessorFactory.java:84)
        at 
org.apache.cayenne.jpa.conf.EntityMapAnnotationLoader.loadClassMapping(EntityMapAnnotationLoader.java:202)
        at 
org.apache.cayenne.jpa.conf.EntityMapLoader.loadFromAnnotations(EntityMapLoader.java:193)
        at 
org.apache.cayenne.jpa.conf.EntityMapLoader.loadEntityMap(EntityMapLoader.java:97)
        ... 52 more


Any insight would be appriciated and would help me to continue on this work :).


> Initial Cayenne Integration with Geronimo
> -----------------------------------------
>
>                 Key: GERONIMO-2891
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-2891
>             Project: Geronimo
>          Issue Type: New Feature
>      Security Level: public(Regular issues) 
>          Components: persistence
>            Reporter: Lasantha Ranaweera
>         Attachments: GERONIMO-2891.patch, JPA.patch, sample.patch
>
>
> This work will integrate Cayenne as a JPA provider in the Geronimo. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to