geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Russell Collins <Russell.Coll...@mclaneat.com>
Subject Geronimo Perm Size
Date Tue, 18 Aug 2009 18:24:17 GMT
I am having an issue with Geronimo and memory.  First, this could be a configuration issue
or a memory leak.  Here is what happens.


*         When we build java objects, we deploy to the Geronimo application server.

*         We then run Junit tests to test the remote interface and bring back data objects

*         Most of the time, this works without a hitch.  However, after a while (say a good
week or so) everything will break and say that we are out of memory (perm size)

I know that one on the actions that can be taken is to update the perm size.  First question
is to how to do this correctly for Geronimo?  Second, what is the ideal perm size (if there
is one) for Geronimo.

The other idea is that there could be a memory leak.  My objects are basic data objects and
we are using the entity manager from the container to access the data.  Is there something
that needs to be released after I make the database calls?  Here is an example of the code
that I have:


@Stateless
public class Faction implements IFactionRemote
{
            @PersistenceContext(unitName = "domain.ecommerce")
            private EntityManager m_em;

            @EJB(name="LoggerLocal")
            private ILoggerLocal m_logger;

            @EJB(name="EntityEmdsLocal")
private IEntityEmdsLocal m_emdsEntity;

/**
 * Default constructor.
            */
public Faction()
{

            }

            /**
             * Returns an MDS Entity Group
             * @param EntityId
             * @param BusinessType
             * @return EmdsEnity - MDS Group Entity
             */
            @Override
            public EmdsEntity ReturnGroup(String EntityId, String BusinessType)
            {
                        PkEntity oKey = new PkEntity();
                        EmdsEntity oEntity = null;

                        oKey.setId(EntityId);
                        oKey.setBusinessType(BusinessType);
                        oKey.setType("GRP");

                        try
                        {
                                    oEntity = this.m_emdsEntity.ReturnEntity(oKey);
                        }
                        catch(Exception ex)
                        {
                                    this.m_logger.error("Faction error: ", ex);
                        }

                        return oEntity;
            }
}


Is there anything that I need to be doing to the EntityManager or other EJB's to release the
resources?  Do I explicitly set the entity manager to null?  Any help that you can give me
will be greatly appreciated.


Russell Collins
Sr. Software Engineer
McLane Advanced Technology
254.771.6419


Mime
View raw message