You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by "Jonathan Gallimore (JIRA)" <ji...@apache.org> on 2008/01/28 23:39:34 UTC
[jira] Created: (OPENEJB-750) EJB 2 Entity bean with many to one
relationship causes ClassFormatError
EJB 2 Entity bean with many to one relationship causes ClassFormatError
-----------------------------------------------------------------------
Key: OPENEJB-750
URL: https://issues.apache.org/jira/browse/OPENEJB-750
Project: OpenEJB
Issue Type: Bug
Components: cmp2
Affects Versions: (trunk/openejb3)
Reporter: Jonathan Gallimore
When deploying a CMP entity bean which has a many to one relationship, the following stack trace is produced when a class that is generated on the fly is loaded.
This appears to be because the getter/setter for the field that links the entity to the parent is generated twice with the same signature - once as a regular CMP field, and once as a field that is participating in a CMR relationship.
org.apache.openejb.OpenEJBException: Creating application failed: F:\Java\openejb-3.0-beta-1\apps\ejb-1.0.jar: Error building bean 'Contact'. Exception: class java.lang.ClassFormatError: Repetitive method name/signature in class file openejb/uk/me/jrg/jee/sample/ejb/Contact: Repetitive method name/signature in class file openejb/uk/me/jrg/jee/sample/ejb/Contact
at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:558)
at org.apache.openejb.assembler.classic.Assembler.buildContainerSystem(Assembler.java:299)
at org.apache.openejb.assembler.classic.Assembler.build(Assembler.java:207)
at org.apache.openejb.OpenEJB$Instance.<init>(OpenEJB.java:149)
at org.apache.openejb.OpenEJB.init(OpenEJB.java:293)
at org.apache.openejb.server.Server.init(Server.java:63)
at org.apache.openejb.server.Main.initServer(Main.java:155)
at org.apache.openejb.server.Main.main(Main.java:128)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.openejb.cli.MainImpl.main(MainImpl.java:151)
at org.apache.openejb.cli.Bootstrap.main(Bootstrap.java:102)
Caused by: org.apache.openejb.OpenEJBException: Error building bean 'Contact'. Exception: class java.lang.ClassFormatError: Repetitive method name/signature in class file openejb/uk/me/jrg/jee/sample/ejb/Contact: Repetitive method name/signature in class file openejb/uk/me/jrg/jee/sample/ejb/Contact
at org.apache.openejb.assembler.classic.EjbJarBuilder.build(EjbJarBuilder.java:65)
at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:431)
... 13 more
Caused by: java.lang.ClassFormatError: Repetitive method name/signature in class file openejb/uk/me/jrg/jee/sample/ejb/Contact
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.apache.openejb.assembler.classic.EnterpriseBeanBuilder.load(EnterpriseBeanBuilder.java:415)
at org.apache.openejb.assembler.classic.EnterpriseBeanBuilder.loadClass(EnterpriseBeanBuilder.java:395)
at org.apache.openejb.assembler.classic.EnterpriseBeanBuilder.build(EnterpriseBeanBuilder.java:267)
at org.apache.openejb.assembler.classic.EjbJarBuilder.build(EjbJarBuilder.java:53)
... 14 more
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (OPENEJB-750) EJB 2 Entity bean with many to one
relationship causes ClassFormatError
Posted by "Jonathan Gallimore (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/OPENEJB-750?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jonathan Gallimore updated OPENEJB-750:
---------------------------------------
Attachment: ejb-1.0.jar
EJB-JAR that demonstrates the problem
> EJB 2 Entity bean with many to one relationship causes ClassFormatError
> -----------------------------------------------------------------------
>
> Key: OPENEJB-750
> URL: https://issues.apache.org/jira/browse/OPENEJB-750
> Project: OpenEJB
> Issue Type: Bug
> Components: cmp2
> Affects Versions: (trunk/openejb3)
> Reporter: Jonathan Gallimore
> Attachments: ejb-1.0.jar, OpenEJB_EJB2_CMR_Fix.patch
>
>
> When deploying a CMP entity bean which has a many to one relationship, the following stack trace is produced when a class that is generated on the fly is loaded.
> This appears to be because the getter/setter for the field that links the entity to the parent is generated twice with the same signature - once as a regular CMP field, and once as a field that is participating in a CMR relationship.
> org.apache.openejb.OpenEJBException: Creating application failed: F:\Java\openejb-3.0-beta-1\apps\ejb-1.0.jar: Error building bean 'Contact'. Exception: class java.lang.ClassFormatError: Repetitive method name/signature in class file openejb/uk/me/jrg/jee/sample/ejb/Contact: Repetitive method name/signature in class file openejb/uk/me/jrg/jee/sample/ejb/Contact
> at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:558)
> at org.apache.openejb.assembler.classic.Assembler.buildContainerSystem(Assembler.java:299)
> at org.apache.openejb.assembler.classic.Assembler.build(Assembler.java:207)
> at org.apache.openejb.OpenEJB$Instance.<init>(OpenEJB.java:149)
> at org.apache.openejb.OpenEJB.init(OpenEJB.java:293)
> at org.apache.openejb.server.Server.init(Server.java:63)
> at org.apache.openejb.server.Main.initServer(Main.java:155)
> at org.apache.openejb.server.Main.main(Main.java:128)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at org.apache.openejb.cli.MainImpl.main(MainImpl.java:151)
> at org.apache.openejb.cli.Bootstrap.main(Bootstrap.java:102)
> Caused by: org.apache.openejb.OpenEJBException: Error building bean 'Contact'. Exception: class java.lang.ClassFormatError: Repetitive method name/signature in class file openejb/uk/me/jrg/jee/sample/ejb/Contact: Repetitive method name/signature in class file openejb/uk/me/jrg/jee/sample/ejb/Contact
> at org.apache.openejb.assembler.classic.EjbJarBuilder.build(EjbJarBuilder.java:65)
> at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:431)
> ... 13 more
> Caused by: java.lang.ClassFormatError: Repetitive method name/signature in class file openejb/uk/me/jrg/jee/sample/ejb/Contact
> at java.lang.ClassLoader.defineClass1(Native Method)
> at java.lang.ClassLoader.defineClass(Unknown Source)
> at java.security.SecureClassLoader.defineClass(Unknown Source)
> at java.net.URLClassLoader.defineClass(Unknown Source)
> at java.net.URLClassLoader.access$100(Unknown Source)
> at java.net.URLClassLoader$1.run(Unknown Source)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.net.URLClassLoader.findClass(Unknown Source)
> at java.lang.ClassLoader.loadClass(Unknown Source)
> at java.lang.ClassLoader.loadClass(Unknown Source)
> at java.lang.ClassLoader.loadClassInternal(Unknown Source)
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Unknown Source)
> at org.apache.openejb.assembler.classic.EnterpriseBeanBuilder.load(EnterpriseBeanBuilder.java:415)
> at org.apache.openejb.assembler.classic.EnterpriseBeanBuilder.loadClass(EnterpriseBeanBuilder.java:395)
> at org.apache.openejb.assembler.classic.EnterpriseBeanBuilder.build(EnterpriseBeanBuilder.java:267)
> at org.apache.openejb.assembler.classic.EjbJarBuilder.build(EjbJarBuilder.java:53)
> ... 14 more
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (OPENEJB-750) EJB 2 Entity bean with many to one
relationship causes ClassFormatError
Posted by "Jonathan Gallimore (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/OPENEJB-750?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jonathan Gallimore updated OPENEJB-750:
---------------------------------------
Attachment: OpenEJB_EJB2_CMR_Fix.patch
This is a potential patch to fix this problem.
> EJB 2 Entity bean with many to one relationship causes ClassFormatError
> -----------------------------------------------------------------------
>
> Key: OPENEJB-750
> URL: https://issues.apache.org/jira/browse/OPENEJB-750
> Project: OpenEJB
> Issue Type: Bug
> Components: cmp2
> Affects Versions: (trunk/openejb3)
> Reporter: Jonathan Gallimore
> Attachments: ejb-1.0.jar, OpenEJB_EJB2_CMR_Fix.patch
>
>
> When deploying a CMP entity bean which has a many to one relationship, the following stack trace is produced when a class that is generated on the fly is loaded.
> This appears to be because the getter/setter for the field that links the entity to the parent is generated twice with the same signature - once as a regular CMP field, and once as a field that is participating in a CMR relationship.
> org.apache.openejb.OpenEJBException: Creating application failed: F:\Java\openejb-3.0-beta-1\apps\ejb-1.0.jar: Error building bean 'Contact'. Exception: class java.lang.ClassFormatError: Repetitive method name/signature in class file openejb/uk/me/jrg/jee/sample/ejb/Contact: Repetitive method name/signature in class file openejb/uk/me/jrg/jee/sample/ejb/Contact
> at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:558)
> at org.apache.openejb.assembler.classic.Assembler.buildContainerSystem(Assembler.java:299)
> at org.apache.openejb.assembler.classic.Assembler.build(Assembler.java:207)
> at org.apache.openejb.OpenEJB$Instance.<init>(OpenEJB.java:149)
> at org.apache.openejb.OpenEJB.init(OpenEJB.java:293)
> at org.apache.openejb.server.Server.init(Server.java:63)
> at org.apache.openejb.server.Main.initServer(Main.java:155)
> at org.apache.openejb.server.Main.main(Main.java:128)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at org.apache.openejb.cli.MainImpl.main(MainImpl.java:151)
> at org.apache.openejb.cli.Bootstrap.main(Bootstrap.java:102)
> Caused by: org.apache.openejb.OpenEJBException: Error building bean 'Contact'. Exception: class java.lang.ClassFormatError: Repetitive method name/signature in class file openejb/uk/me/jrg/jee/sample/ejb/Contact: Repetitive method name/signature in class file openejb/uk/me/jrg/jee/sample/ejb/Contact
> at org.apache.openejb.assembler.classic.EjbJarBuilder.build(EjbJarBuilder.java:65)
> at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:431)
> ... 13 more
> Caused by: java.lang.ClassFormatError: Repetitive method name/signature in class file openejb/uk/me/jrg/jee/sample/ejb/Contact
> at java.lang.ClassLoader.defineClass1(Native Method)
> at java.lang.ClassLoader.defineClass(Unknown Source)
> at java.security.SecureClassLoader.defineClass(Unknown Source)
> at java.net.URLClassLoader.defineClass(Unknown Source)
> at java.net.URLClassLoader.access$100(Unknown Source)
> at java.net.URLClassLoader$1.run(Unknown Source)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.net.URLClassLoader.findClass(Unknown Source)
> at java.lang.ClassLoader.loadClass(Unknown Source)
> at java.lang.ClassLoader.loadClass(Unknown Source)
> at java.lang.ClassLoader.loadClassInternal(Unknown Source)
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Unknown Source)
> at org.apache.openejb.assembler.classic.EnterpriseBeanBuilder.load(EnterpriseBeanBuilder.java:415)
> at org.apache.openejb.assembler.classic.EnterpriseBeanBuilder.loadClass(EnterpriseBeanBuilder.java:395)
> at org.apache.openejb.assembler.classic.EnterpriseBeanBuilder.build(EnterpriseBeanBuilder.java:267)
> at org.apache.openejb.assembler.classic.EjbJarBuilder.build(EjbJarBuilder.java:53)
> ... 14 more
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Closed: (OPENEJB-750) EJB 2 Entity bean with CMP field
mapped to CMR field causes ClassFormatError
Posted by "Dain Sundstrom (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/OPENEJB-750?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dain Sundstrom closed OPENEJB-750.
----------------------------------
Resolution: Fixed
Committed revision 633321.
Thanks for the patch!
> EJB 2 Entity bean with CMP field mapped to CMR field causes ClassFormatError
> ----------------------------------------------------------------------------
>
> Key: OPENEJB-750
> URL: https://issues.apache.org/jira/browse/OPENEJB-750
> Project: OpenEJB
> Issue Type: Bug
> Components: cmp2
> Affects Versions: 3.0-beta-1, 3.0-beta-2
> Reporter: Jonathan Gallimore
> Assignee: Dain Sundstrom
> Fix For: 3.0
>
> Attachments: ejb-1.0.jar, OpenEJB_EJB2_CMR_Fix.patch
>
>
> When deploying a CMP entity bean which has a many to one relationship, the following stack trace is produced when a class that is generated on the fly is loaded.
> This appears to be because the getter/setter for the field that links the entity to the parent is generated twice with the same signature - once as a regular CMP field, and once as a field that is participating in a CMR relationship.
> org.apache.openejb.OpenEJBException: Creating application failed: F:\Java\openejb-3.0-beta-1\apps\ejb-1.0.jar: Error building bean 'Contact'. Exception: class java.lang.ClassFormatError: Repetitive method name/signature in class file openejb/uk/me/jrg/jee/sample/ejb/Contact: Repetitive method name/signature in class file openejb/uk/me/jrg/jee/sample/ejb/Contact
> at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:558)
> at org.apache.openejb.assembler.classic.Assembler.buildContainerSystem(Assembler.java:299)
> at org.apache.openejb.assembler.classic.Assembler.build(Assembler.java:207)
> at org.apache.openejb.OpenEJB$Instance.<init>(OpenEJB.java:149)
> at org.apache.openejb.OpenEJB.init(OpenEJB.java:293)
> at org.apache.openejb.server.Server.init(Server.java:63)
> at org.apache.openejb.server.Main.initServer(Main.java:155)
> at org.apache.openejb.server.Main.main(Main.java:128)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at org.apache.openejb.cli.MainImpl.main(MainImpl.java:151)
> at org.apache.openejb.cli.Bootstrap.main(Bootstrap.java:102)
> Caused by: org.apache.openejb.OpenEJBException: Error building bean 'Contact'. Exception: class java.lang.ClassFormatError: Repetitive method name/signature in class file openejb/uk/me/jrg/jee/sample/ejb/Contact: Repetitive method name/signature in class file openejb/uk/me/jrg/jee/sample/ejb/Contact
> at org.apache.openejb.assembler.classic.EjbJarBuilder.build(EjbJarBuilder.java:65)
> at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:431)
> ... 13 more
> Caused by: java.lang.ClassFormatError: Repetitive method name/signature in class file openejb/uk/me/jrg/jee/sample/ejb/Contact
> at java.lang.ClassLoader.defineClass1(Native Method)
> at java.lang.ClassLoader.defineClass(Unknown Source)
> at java.security.SecureClassLoader.defineClass(Unknown Source)
> at java.net.URLClassLoader.defineClass(Unknown Source)
> at java.net.URLClassLoader.access$100(Unknown Source)
> at java.net.URLClassLoader$1.run(Unknown Source)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.net.URLClassLoader.findClass(Unknown Source)
> at java.lang.ClassLoader.loadClass(Unknown Source)
> at java.lang.ClassLoader.loadClass(Unknown Source)
> at java.lang.ClassLoader.loadClassInternal(Unknown Source)
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Unknown Source)
> at org.apache.openejb.assembler.classic.EnterpriseBeanBuilder.load(EnterpriseBeanBuilder.java:415)
> at org.apache.openejb.assembler.classic.EnterpriseBeanBuilder.loadClass(EnterpriseBeanBuilder.java:395)
> at org.apache.openejb.assembler.classic.EnterpriseBeanBuilder.build(EnterpriseBeanBuilder.java:267)
> at org.apache.openejb.assembler.classic.EjbJarBuilder.build(EjbJarBuilder.java:53)
> ... 14 more
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (OPENEJB-750) EJB 2 Entity bean with many to one
relationship causes ClassFormatError
Posted by "Jonathan Gallimore (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/OPENEJB-750?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12563326#action_12563326 ]
Jonathan Gallimore commented on OPENEJB-750:
--------------------------------------------
This also appears to happen when deploying the EJB-JAR from the Geronimo Bank sample (from v1.2), so I guess this isn't down to an error with my sample app.
> EJB 2 Entity bean with many to one relationship causes ClassFormatError
> -----------------------------------------------------------------------
>
> Key: OPENEJB-750
> URL: https://issues.apache.org/jira/browse/OPENEJB-750
> Project: OpenEJB
> Issue Type: Bug
> Components: cmp2
> Affects Versions: (trunk/openejb3)
> Reporter: Jonathan Gallimore
> Attachments: ejb-1.0.jar, OpenEJB_EJB2_CMR_Fix.patch
>
>
> When deploying a CMP entity bean which has a many to one relationship, the following stack trace is produced when a class that is generated on the fly is loaded.
> This appears to be because the getter/setter for the field that links the entity to the parent is generated twice with the same signature - once as a regular CMP field, and once as a field that is participating in a CMR relationship.
> org.apache.openejb.OpenEJBException: Creating application failed: F:\Java\openejb-3.0-beta-1\apps\ejb-1.0.jar: Error building bean 'Contact'. Exception: class java.lang.ClassFormatError: Repetitive method name/signature in class file openejb/uk/me/jrg/jee/sample/ejb/Contact: Repetitive method name/signature in class file openejb/uk/me/jrg/jee/sample/ejb/Contact
> at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:558)
> at org.apache.openejb.assembler.classic.Assembler.buildContainerSystem(Assembler.java:299)
> at org.apache.openejb.assembler.classic.Assembler.build(Assembler.java:207)
> at org.apache.openejb.OpenEJB$Instance.<init>(OpenEJB.java:149)
> at org.apache.openejb.OpenEJB.init(OpenEJB.java:293)
> at org.apache.openejb.server.Server.init(Server.java:63)
> at org.apache.openejb.server.Main.initServer(Main.java:155)
> at org.apache.openejb.server.Main.main(Main.java:128)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at org.apache.openejb.cli.MainImpl.main(MainImpl.java:151)
> at org.apache.openejb.cli.Bootstrap.main(Bootstrap.java:102)
> Caused by: org.apache.openejb.OpenEJBException: Error building bean 'Contact'. Exception: class java.lang.ClassFormatError: Repetitive method name/signature in class file openejb/uk/me/jrg/jee/sample/ejb/Contact: Repetitive method name/signature in class file openejb/uk/me/jrg/jee/sample/ejb/Contact
> at org.apache.openejb.assembler.classic.EjbJarBuilder.build(EjbJarBuilder.java:65)
> at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:431)
> ... 13 more
> Caused by: java.lang.ClassFormatError: Repetitive method name/signature in class file openejb/uk/me/jrg/jee/sample/ejb/Contact
> at java.lang.ClassLoader.defineClass1(Native Method)
> at java.lang.ClassLoader.defineClass(Unknown Source)
> at java.security.SecureClassLoader.defineClass(Unknown Source)
> at java.net.URLClassLoader.defineClass(Unknown Source)
> at java.net.URLClassLoader.access$100(Unknown Source)
> at java.net.URLClassLoader$1.run(Unknown Source)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.net.URLClassLoader.findClass(Unknown Source)
> at java.lang.ClassLoader.loadClass(Unknown Source)
> at java.lang.ClassLoader.loadClass(Unknown Source)
> at java.lang.ClassLoader.loadClassInternal(Unknown Source)
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Unknown Source)
> at org.apache.openejb.assembler.classic.EnterpriseBeanBuilder.load(EnterpriseBeanBuilder.java:415)
> at org.apache.openejb.assembler.classic.EnterpriseBeanBuilder.loadClass(EnterpriseBeanBuilder.java:395)
> at org.apache.openejb.assembler.classic.EnterpriseBeanBuilder.build(EnterpriseBeanBuilder.java:267)
> at org.apache.openejb.assembler.classic.EjbJarBuilder.build(EjbJarBuilder.java:53)
> ... 14 more
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (OPENEJB-750) EJB 2 Entity bean with CMP field
mapped to CMR field causes ClassFormatError
Posted by "Dain Sundstrom (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/OPENEJB-750?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dain Sundstrom updated OPENEJB-750:
-----------------------------------
Affects Version/s: (was: (trunk/openejb3))
3.0-beta-1
3.0-beta-2
Fix Version/s: 3.0
Assignee: Dain Sundstrom
Summary: EJB 2 Entity bean with CMP field mapped to CMR field causes ClassFormatError (was: EJB 2 Entity bean with many to one relationship causes ClassFormatError)
> EJB 2 Entity bean with CMP field mapped to CMR field causes ClassFormatError
> ----------------------------------------------------------------------------
>
> Key: OPENEJB-750
> URL: https://issues.apache.org/jira/browse/OPENEJB-750
> Project: OpenEJB
> Issue Type: Bug
> Components: cmp2
> Affects Versions: 3.0-beta-1, 3.0-beta-2
> Reporter: Jonathan Gallimore
> Assignee: Dain Sundstrom
> Fix For: 3.0
>
> Attachments: ejb-1.0.jar, OpenEJB_EJB2_CMR_Fix.patch
>
>
> When deploying a CMP entity bean which has a many to one relationship, the following stack trace is produced when a class that is generated on the fly is loaded.
> This appears to be because the getter/setter for the field that links the entity to the parent is generated twice with the same signature - once as a regular CMP field, and once as a field that is participating in a CMR relationship.
> org.apache.openejb.OpenEJBException: Creating application failed: F:\Java\openejb-3.0-beta-1\apps\ejb-1.0.jar: Error building bean 'Contact'. Exception: class java.lang.ClassFormatError: Repetitive method name/signature in class file openejb/uk/me/jrg/jee/sample/ejb/Contact: Repetitive method name/signature in class file openejb/uk/me/jrg/jee/sample/ejb/Contact
> at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:558)
> at org.apache.openejb.assembler.classic.Assembler.buildContainerSystem(Assembler.java:299)
> at org.apache.openejb.assembler.classic.Assembler.build(Assembler.java:207)
> at org.apache.openejb.OpenEJB$Instance.<init>(OpenEJB.java:149)
> at org.apache.openejb.OpenEJB.init(OpenEJB.java:293)
> at org.apache.openejb.server.Server.init(Server.java:63)
> at org.apache.openejb.server.Main.initServer(Main.java:155)
> at org.apache.openejb.server.Main.main(Main.java:128)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at org.apache.openejb.cli.MainImpl.main(MainImpl.java:151)
> at org.apache.openejb.cli.Bootstrap.main(Bootstrap.java:102)
> Caused by: org.apache.openejb.OpenEJBException: Error building bean 'Contact'. Exception: class java.lang.ClassFormatError: Repetitive method name/signature in class file openejb/uk/me/jrg/jee/sample/ejb/Contact: Repetitive method name/signature in class file openejb/uk/me/jrg/jee/sample/ejb/Contact
> at org.apache.openejb.assembler.classic.EjbJarBuilder.build(EjbJarBuilder.java:65)
> at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:431)
> ... 13 more
> Caused by: java.lang.ClassFormatError: Repetitive method name/signature in class file openejb/uk/me/jrg/jee/sample/ejb/Contact
> at java.lang.ClassLoader.defineClass1(Native Method)
> at java.lang.ClassLoader.defineClass(Unknown Source)
> at java.security.SecureClassLoader.defineClass(Unknown Source)
> at java.net.URLClassLoader.defineClass(Unknown Source)
> at java.net.URLClassLoader.access$100(Unknown Source)
> at java.net.URLClassLoader$1.run(Unknown Source)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.net.URLClassLoader.findClass(Unknown Source)
> at java.lang.ClassLoader.loadClass(Unknown Source)
> at java.lang.ClassLoader.loadClass(Unknown Source)
> at java.lang.ClassLoader.loadClassInternal(Unknown Source)
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Unknown Source)
> at org.apache.openejb.assembler.classic.EnterpriseBeanBuilder.load(EnterpriseBeanBuilder.java:415)
> at org.apache.openejb.assembler.classic.EnterpriseBeanBuilder.loadClass(EnterpriseBeanBuilder.java:395)
> at org.apache.openejb.assembler.classic.EnterpriseBeanBuilder.build(EnterpriseBeanBuilder.java:267)
> at org.apache.openejb.assembler.classic.EjbJarBuilder.build(EjbJarBuilder.java:53)
> ... 14 more
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.