SalesForce连接在vFabric中抛出java.lang.OutOfMemoryError

时间:2012-02-27 20:33:35

标签: java jaxb jax-ws salesforce

好的,不知何故在服务器的日志中我没有得到正确的错误,但在尝试不同的事情后我得到了一个OutOfMemory:PermGenSpace错误,并且对于那个stackoverflow已经有了解决方案。

Dealing with "java.lang.OutOfMemoryError: PermGen space" error

我在那里使用解决方案,我的问题解决了:)

感谢@maximdim的帮助

我已经在一个问题上苦苦挣扎了两个星期。

我使用jdk7通过Java Web应用程序中的Web服务连接到test.salesforce.com

我使用JAX-WS wsimport 生成了存根。

我在本地环境中使用STS和VMWare vFabric tc Server v2.6,此处连接正常。

问题是当我使用jdk 7部署到SpringSource tc Runtime 7.0的测试服务器时,我在进行Web服务调用后得到以下异常:

Exception in thread "RMI TCP Connection(idle)"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "RMI TCP Connection(idle)"
Exception in thread "RMI TCP Connection(idle)"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "RMI TCP Connection(idle)"
Exception in thread "RMI TCP Connection(idle)" Exception in thread "ContainerBackgroundProcessor[StandardEngine[Catalina]]"
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "RMI TCP Connection(idle)"

我已经增加了测试服务器中的内存参数。它从1 GB或内存开始。我正在提供有关内存增加方式的更多细节:

vFabric服务器有一个控制台,所以我们在那里有以下配置:

Min Heap Size: 1,000MB 
Max Heap Size: 16,000 MB 
Thread Stack Sie: 192 KB.

我还找到了设置这些参数的文件(setenv.sh),它们是这样的:

JVM_OPTS="-Xms1000m -Xmx16000m -Xss192k -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"

我也知道这不是连接问题,因为有时连接成功,但之后我收到了错误。

在OutOfMemoryError之后我还得到了一个内存转储,并用Eclipse插件分析它并且内存泄漏在:

com.sun.xml.internal.ws.client.sei.SEIStub
   $Proxy51

尝试在此处发布图片,但由于我是新用户,stackoverflow不允许我。

请帮助!!任何帮助将不胜感激。

Alan Robles

2 个答案:

答案 0 :(得分:1)

你究竟是如何“增加内存参数”的? JVM中几乎没有不同的内存区域,因此您可以增加其中一个,但问题出在另一个 - 例如PermGen vs. Heap。

答案 1 :(得分:1)

好的,不知何故在服务器的日志中我没有得到正确的错误,但在尝试不同的事情后我得到了一个OutOfMemory:PermGenSpace错误,并且对于那个stackoverflow已经有了解决方案。

Dealing with "java.lang.OutOfMemoryError: PermGen space" error

我在那里使用解决方案,我的问题解决了:)

感谢@maximdim的帮助。