[ 
https://issues.apache.org/jira/browse/OPENJPA-2566?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14294128#comment-14294128
 ] 

Rick Curtis commented on OPENJPA-2566:
--------------------------------------

I am going to be that the problem is that Glassfish isn't calling 
EntityManager.close() when they are done using the EntityManager. Normally this 
is okay because thing will get cleaned up via gc, but it seems that when using 
FetchPlans that doesn't happen.

> Memory leak when using addFetchGroup?
> -------------------------------------
>
>                 Key: OPENJPA-2566
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-2566
>             Project: OpenJPA
>          Issue Type: Bug
>    Affects Versions: 2.3.1
>            Reporter: brian yoder
>         Attachments: screen shot OOM.jpg
>
>
> I have noticed a memory leak when using the following code on Glassfish J2EE 
> server 3.1, however suspect the issue is not related to Glassfish.
> OpenJPAEntityManager kem = OpenJPAPersistence.cast(emNoTran);
> kem.getFetchPlan().addFetchGroup("contactDetails");
> It seems the code causes a huge memory leak with JDBCBrokerFactory growing 
> its MapBackedSet, ConcurrentHashMap.
> Any ideas why this would be?  I am calling the above code over-and-over again 
> for each EJB method invocation, which it was my understanding it is only good 
> for the current EM transaction.  Perhaps I have misunderstood.
> My Requirement is to set the fetch group only for the current transaction, 
> such that lazy fields for a particular entity get loaded up front, but only 
> within this call from the EJB.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to