[ https://issues.jboss.org/browse/WELD-920?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Adam Warski updated WELD-920: ----------------------------- Attachment: leak-test-1.war .war file ready to deploy > Memory leak through the creational context of an @AppScoped bean when > injecting Instance<> > ------------------------------------------------------------------------------------------ > > Key: WELD-920 > URL: https://issues.jboss.org/browse/WELD-920 > Project: Weld > Issue Type: Bug > Components: Scopes & Contexts > Affects Versions: 1.1.0.CR3, 1.1.1.Final > Reporter: Adam Warski > Attachments: leak-test-1.war, leak-test.tar.gz > > > Given a simple dependent-scoped bean: public class InstanceBean {}, and an > application-scoped bean (see below) to which an instance of the > dependent-scoped bean is injected, each time the get() method is called on > the instance, even though it's not used, a reference to it stays in the > creational context of the application scoped bean > (http://screencast.com/t/XqjQ1GB7Wv3). That way after several requests, where > each one calls the method, more and more memory is leaked > (http://screencast.com/t/s1VBx49i). > Attached is a simple web application demonstrating this. To reproduce, deploy > to AS6, click the "leak" button several times, and analyze the heap dump e.g. > in JProfiler. > @ApplicationScoped > @Named("test") > public class AppScopedBean { > private Instance<InstanceBean> instanceBeanInstance; > @Inject > public AppScopedBean(Instance<InstanceBean> instanceBeanInstance) { > this.instanceBeanInstance = instanceBeanInstance; > } > public AppScopedBean() { > } > public void leakOneInstance() { > System.out.println("Leaked!"); > instanceBeanInstance.get(); > } > } -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira _______________________________________________ weld-issues mailing list weld-issues@lists.jboss.org https://lists.jboss.org/mailman/listinfo/weld-issues