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.