【发布时间】:2011-07-28 23:16:29
【问题描述】:
我刚刚切换到 Weld 以使用 CDI JSF 2 Beans + 对话范围。
这是我的 Maven 依赖项:
<dependency>
<groupId>org.jboss.weld.servlet</groupId>
<artifactId>weld-servlet</artifactId>
<version>1.0.1-Final</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
这是我的 web.xml 中的条目:
<listener>
<listener-class>org.jboss.weld.environment.servlet.Listener</listener-class>
</listener>
我立即注意到的一件事是我只需要重新加载我的 tomcat 7 大约 2 次,java.lang.OutOfMemoryError: PermGen space 就会出现在 catalina.out 日志文件中。
在使用 Weld 之前,我可以在没有 java.lang.OutOfMemoryError 的情况下安全地重新加载我的 tomcat 7 超过 10 次。我认为在 catalina.sh 中增加我的 Xmx 选项会有所帮助,但在我的经验中并没有。 JAVA_OPTS=-Xmx1024m
这正常吗?
【问题讨论】:
-
这当然不正常。但是除非您在代码中进行一些挖掘并找到消耗内存的部分,否则绝对不可能说是您的代码还是实现本身......
-
@jan groth:我不认为这是我的代码,因为它是一个非常简单的测试项目,就像一个带有计数器的 jsf bean 等。在使用焊接之前,我使用的是 spring 或默认的 jsf托管 bean,一切都很好。
-
JAVA_OPTS=-Xmx1024m不会增加 Permgen。-XX:MaxPermSize=256m会。
标签: java jsf jsf-2 cdi jboss-weld