我刚刚开始使用Weld来利用CDI JSF 2 Beans + conversation scope。
这是我的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之前,我可以安全地重新加载我的Tomcat 7超过10次,而不会出现java.lang.OutOfMemoryError。我认为在catalina.sh中增加Xmx选项会有所帮助,但在我的经验中并没有。 JAVA_OPTS=-Xmx1024m
这是正常现象吗?
JAVA_OPTS=-Xmx1024m
不会增加 Permgen。而-XX:MaxPermSize=256m
会增加。 - Ondra Žižka