Hi Jean-Pierre,

Makes a lot of sense. Somehow the presence of these files seemed strange.

I will try that and keep you posted.

Patrick


Jean-Louis MONTEIRO wrote:
> 
> Hi,
> 
> it seems to me you are using WAS 7 API/JARS.
> Some of them are very big (com.ibm.ws.runtime.jar more or less 40Mo).
> 
> To prevent OutOfMemory Exception, you should either increase the heap size
> (-Xmx system property) or activate OpenEJB filters (to exclude WAS jars).
> 
> I guess the second option is better for you.
> Have a look here 
> http://openejb.apache.org/3.0/application-discovery-via-the-classpath.html
> http://openejb.apache.org/3.0/application-discovery-via-the-classpath.html
> .
> 
> Hope it helps.
> Jean-Louis
> 
> 
> 
> PatLaPatate wrote:
>> 
>> Hi,
>> 
>> Here's the context : I get the following error when trying to run a JUnit
>> test: 
>> java.lang.OutOfMemoryError: Java heap space
>> 
>> Here is the context of my problem:
>> Under RAD 7.5
>> Using Hibernate, JUnit, JPA, openEJB
>> 
>> JUnit code:
>> public class CGEServiceTest extends TestCase {
>> 
>>      private InitialContext initialContext;
>>      
>>      public void setUp() throws Exception {
>>        Properties properties = new Properties();
>>        properties.setProperty(Context.INITIAL_CONTEXT_FACTORY,
>> "org.apache.openejb.client.LocalInitialContextFactory");
>>        properties.put("db2x070", "new://Resource?type=DataSource");
>>        properties.put("db2x070.JdbcDriver", "com.ibm.db2.jcc.DB2Driver");
>>        properties.put("db2x070.JdbcUrl",
>> "jdbc:db2://db2d070n0:50127/db2d070");
>>        properties.put("db2x070.UserName", "xxxxx");
>>        properties.put("db2x070.Password", "xxxxxx");       
>>        initialContext = new InitialContext(properties);
>> 
>>      }
>>      public void testAjouterApplication() throws Exception {
>>              
>>              Object object = initialContext.lookup("ejb/CGEService");
>>              CGEService service = (CGEService) object;
>>              try {
>>                      Application a = new Application();
>>                      a.setName("fat/ECS");
>>                      service.ajouterApplication(a);
>>                      
>>              } catch (CGEPersistenceException e) {
>>                      fail();
>>              }
>>      }
>> }
>> 
>> 
>> /////////////////////////////////////////////////////////////////////////////////////////////
>> 
>> My service class :
>> 
>> package com.desj.visa.srv.cge;
>> import javax.ejb.Stateless;
>> import javax.persistence.EntityManager;
>> import javax.persistence.EntityManagerFactory;
>> import javax.persistence.EntityTransaction;
>> import javax.persistence.Persistence;
>> import javax.persistence.PersistenceUnit;
>> 
>> import com.desj.visa.srv.cge.beans.Application;
>> 
>> @Stateless (name="ejb/CGEService")
>> public class CGEServiceImpl implements CGEService {
>> 
>>      @PersistenceUnit
>>      private EntityManagerFactory emf;
>>      
>>      public void setEmf(EntityManagerFactory emf) {
>>              this.emf = emf;
>>      }
>> 
>>      public void ajouterApplication(Application application) throws
>> CGEPersistenceException {
>> 
>>          // Start EntityManagerFactory
>> 
>>          // First unit of work
>>          EntityManager em = emf.createEntityManager();
>>          EntityTransaction tx = em.getTransaction();
>>          tx.begin();
>> 
>>          em.persist(application);
>> 
>>          tx.commit();
>>          em.close();
>> 
>>          // Shutting down the application
>>          emf.close();
>>        }
>> }
>> 
>> ///////////////////////////////////////////////////////////////////////////
>> 
>> My Bean :
>> 
>> import javax.persistence.*;
>> 
>> @Entity 
>> @Table (name = "TAPPLICATION", schema="GCE")
>> 
>> public class Application {
>> 
>>      @Id @GeneratedValue
>>      @Column(name = "IDAPPLICATION")
>>      private long id;
>> 
>>      @Column(name = "NOMAPPLICATION")
>>      private String name;
>>      
>>      public Application() {
>>              super();
>>      }
>>      
>>      public Application(long id, String name) {
>>              super();
>>              this.name = name;
>>      }
>>      
>>      public long getId() {
>>              return id;
>>      }
>>      public void setId(long id) {
>>              this.id = id;
>>      }
>>      public String getName() {
>>              return name;
>>      }
>>      public void setName(String name) {
>>              this.name = name;
>>      }
>> }
>> 
>> And the result is:
>> 
>> 
>> Apache OpenEJB 3.1.2    build: 20091010-03:11
>> http://openejb.apache.org/
>> INFO - openejb.home = F:\Workspaces\wks_jsf\CGESrvTest
>> INFO - openejb.base = F:\Workspaces\wks_jsf\CGESrvTest
>> INFO - Configuring Service(id=Default Security Service,
>> type=SecurityService, provider-id=Default Security Service)
>> INFO - Configuring Service(id=Default Transaction Manager,
>> type=TransactionManager, provider-id=Default Transaction Manager)
>> INFO - Configuring Service(id=db2x070, type=Resource, provider-id=Default
>> JDBC Database)
>> INFO - Found EjbModule in classpath: C:\Program
>> Files\IBM\SDP75\runtimes\base_v7\plugins\com.ibm.ws.runtime.jar
>> INFO - Found EjbModule in classpath: C:\Program
>> Files\IBM\SDP75\runtimes\base_v7\plugins\com.ibm.ws.admin.core.jar
>> INFO - Beginning load: C:\Program
>> Files\IBM\SDP75\runtimes\base_v7\plugins\com.ibm.ws.runtime.jar
>> INFO - Beginning load: C:\Program
>> Files\IBM\SDP75\runtimes\base_v7\plugins\com.ibm.ws.admin.core.jar
>> INFO - Configuring enterprise application: classpath.ear
>> FATAL - OpenEJB has encountered a fatal error and cannot be started: The
>> Assembler encountered an unexpected error while attempting to build the
>> container system.
>> java.lang.OutOfMemoryError: Java heap space
>>      at org.apache.xbean.asm.ClassReader.a(Unknown Source)
>>      at org.apache.xbean.asm.ClassReader.<init>(Unknown Source)
>>      at
>> org.apache.xbean.finder.ClassFinder.readClassDef(ClassFinder.java:728)
>>      at org.apache.xbean.finder.ClassFinder.<init>(ClassFinder.java:141)
>>      at org.apache.xbean.finder.ClassFinder.<init>(ClassFinder.java:113)
>>      at
>> org.apache.openejb.config.AnnotationDeployer$DiscoverAnnotatedBeans.deploy(AnnotationDeployer.java:422)
>>      at
>> org.apache.openejb.config.AnnotationDeployer$DiscoverAnnotatedBeans.deploy(AnnotationDeployer.java:253)
>>      at
>> org.apache.openejb.config.AnnotationDeployer.deploy(AnnotationDeployer.java:188)
>>      at
>> org.apache.openejb.config.ConfigurationFactory$Chain.deploy(ConfigurationFactory.java:247)
>>      at
>> org.apache.openejb.config.ConfigurationFactory.configureApplication(ConfigurationFactory.java:601)
>>      at
>> org.apache.openejb.config.ConfigurationFactory.configureApplication(ConfigurationFactory.java:551)
>>      at
>> org.apache.openejb.config.ConfigurationFactory.getOpenEjbConfiguration(ConfigurationFactory.java:380)
>>      at
>> org.apache.openejb.assembler.classic.Assembler.getOpenEjbConfiguration(Assembler.java:299)
>>      at
>> org.apache.openejb.assembler.classic.Assembler.build(Assembler.java:278)
>>      at org.apache.openejb.OpenEJB$Instance.<init>(OpenEJB.java:137)
>>      at org.apache.openejb.OpenEJB.init(OpenEJB.java:286)
>>      at org.apache.openejb.OpenEJB.init(OpenEJB.java:265)
>>      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.loader.OpenEJBInstance.init(OpenEJBInstance.java:36)
>>      at
>> org.apache.openejb.client.LocalInitialContextFactory.init(LocalInitialContextFactory.java:71)
>>      at
>> org.apache.openejb.client.LocalInitialContextFactory.init(LocalInitialContextFactory.java:53)
>>      at
>> org.apache.openejb.client.LocalInitialContextFactory.getInitialContext(LocalInitialContextFactory.java:42)
>>      at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
>>      at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
>>      at javax.naming.InitialContext.init(Unknown Source)
>>      at javax.naming.InitialContext.<init>(Unknown Source)
>>      at
>> com.desj.visa.app.cge.tests.CGEServiceTest.setUp(CGEServiceTest.java:27)
>>      at junit.framework.TestCase.runBare(TestCase.java:125)
>>      at junit.framework.TestResult$1.protect(TestResult.java:106)
>> 
>> 
>> Does anyone have a clue?
>> 
>> Thanks
>> 
>> 
> 
> 

-- 
View this message in context: 
http://old.nabble.com/OutOfMemory-doing-a-JUnit-using-OpenEJB-Embedded-tp26289066p26289086.html
Sent from the OpenEJB User mailing list archive at Nabble.com.

Reply via email to