Memory bloat in Metro jax-ws client webapp on Weblogic app server - ServletInputStream buffer size 100MB?
We have been trying to figure out why our wsimport generated Jax-ws Web Service installed on Weblogic web container runs out of memory when external client tries to connect to i. We did 10-15 simultaneous calls, only first ones being succesful. A heap dump analysis revealed that there are a dozen of weblogic.servlet.internal.ServletInputStreamImpl instances holding ~100MB byte arrays(100000000 bytes). Each byte array contains only the web service request to be sent to remote web service endpoint(aprox. 300 characters).
Eclipse-based Memory Analyzer suggests the following:
+One instance of "weblogic.servlet.internal.ServletInputStreamImpl" loaded by "sun.misc.Launcher$AppClassLoader @ 0xffffffff30418a60" occupies 100 000 672 (10,56%) bytes. The memory is accumulated in one instance of "byte" loaded by "
There are totally ten of these InputStream instances, thus leading to OutOfMemory(we are having a heap size of 1GB) ...
Could it be, that Jaxws somehow controls the buffer size and for some reason decides to reserve 100MB?
Thank's in advance for any response!