PCEnhancer java.lang.OutOfMemoryError: Java heap space
------------------------------------------------------

                 Key: GERONIMO-4275
                 URL: https://issues.apache.org/jira/browse/GERONIMO-4275
             Project: Geronimo
          Issue Type: Bug
      Security Level: public (Regular issues)
          Components: persistence
    Affects Versions: 2.1.2
         Environment: Sun jdk 1.5
jtds driver 1.2.2 (MSSQL)
Windows XP
-Xms1024m -Xmx1024m
-XX:MaxPermSize=256m


            Reporter: Ljuba


I got this error when I am deploying application:


02 Sep 2008 10:11:38,046 INFO [RMI TCP Connection(14)-192.168.1.122] 
(OpenEJB.startup.java:70) - Assembling app: C:\Documents and Settings\xxx\Local 
Settings\Temp\geronimo-deploymentUtil27842.jar
257594 xxx WARN [RMI TCP Connection(14)-192.168.1.122] openjpa.Enhance - An 
exception was thrown while attempting to perform class file transformation on 
"net/.../yyy":
java.lang.OutOfMemoryError: Java heap space
at java.util.ArrayList.ensureCapacity(ArrayList.java:169)
at java.util.ArrayList.add(ArrayList.java:351)
at 
org.apache.openjpa.meta.MetaDataRepository.processBuffer(MetaDataRepository.java:676)
at 
org.apache.openjpa.meta.MetaDataRepository.resolveMeta(MetaDataRepository.java:575)
at 
org.apache.openjpa.meta.MetaDataRepository.resolve(MetaDataRepository.java:500)
at 
org.apache.openjpa.meta.MetaDataRepository.getMetaData(MetaDataRepository.java:302)
at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:241)
at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:212)
at 
org.apache.openjpa.enhance.PCClassFileTransformer.transform(PCClassFileTransformer.java:127)
at 
org.apache.openjpa.persistence.PersistenceProviderImpl$ClassTransformerImpl.transform(PersistenceProviderImpl.java:176)
at 
org.apache.geronimo.persistence.TransformerWrapper.transform(TransformerWrapper.java:43)
at 
org.apache.geronimo.transformer.TransformerCollection.transform(TransformerCollection.java:43)
at sun.instrument.TransformerManager.transform(TransformerManager.java:122)
at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:155)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at 
org.apache.geronimo.kernel.classloader.JarFileClassLoader.access$200(JarFileClassLoader.java:52)
at 
org.apache.geronimo.kernel.classloader.JarFileClassLoader$6.run(JarFileClassLoader.java:308)
at java.security.AccessController.doPrivileged(Native Method)
at 
org.apache.geronimo.kernel.classloader.JarFileClassLoader.findClass(JarFileClassLoader.java:260)
at 
org.apache.geronimo.kernel.config.MultiParentClassLoader.loadOptimizedClass(MultiParentClassLoader.java:430)
at 
org.apache.geronimo.kernel.config.MultiParentClassLoader.loadClass(MultiParentClassLoader.java:278)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2395)
at java.lang.Class.privateGetPublicMethods(Class.java:2519)
at java.lang.Class.getMethods(Class.java:1406)
at 
org.apache.openejb.assembler.classic.InterceptorBindingBuilder.build(InterceptorBindingBuilder.java:185)
at 
org.apache.openejb.assembler.classic.EjbJarBuilder.build(EjbJarBuilder.java:54)
at 
org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:489)


There is nothing special in relation @OneToMany @ManyToOne (Hibernate tool 
generated mappings for two tables - In database there is relation on this two 
tables):

First class has this property:

        private Set<yyy> yyy= new HashSet<yyy>(0);

        private Set<CustomerAccount> customerAccounts = new 
HashSet<CustomerAccount>(0);
        @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy 
= "xxx")
        public Set<yyy> getYyys() {
                return this.yyy;
        }

        public void setYys(Set<yyy> yyys) {
                this.yyys = yyy;
        }

Second class has this propertie:

        private Xxx xxx;

        @ManyToOne(fetch = FetchType.LAZY)
        @JoinColumns( { @JoinColumn(name = "aaa", referencedColumnName = "aaa"),
                        @JoinColumn(name = "bbb", referencedColumnName = "bbb") 
})
        public Customer getXxx() {
                return this.xxx;
        }

        public void setXxx(XXX xxx) {
                this.xxx= xxx;
        }





-- 
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