[ https://issues.apache.org/jira/browse/AXIS2-2968?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tom Seelbach updated AXIS2-2968: -------------------------------- Attachment: patchViaSVNdiff.txt same code changes as patch-5.txt, produced using svn diff. Note that the last 2 files in the diff (axis2.xml and the testcase) were diffed with /dev/null since they are new files. > Out-Of-Memory error on server side - Use of wsdl4j WSDLDefinition > ----------------------------------------------------------------- > > Key: AXIS2-2968 > URL: https://issues.apache.org/jira/browse/AXIS2-2968 > Project: Axis 2.0 (Axis2) > Issue Type: Bug > Components: kernel > Reporter: Ann Robinson > Assignee: Rich Scheuerle > Priority: Critical > Attachments: patch-5.txt, patch_01.txt, patch_02_part1.txt, > patch_03.txt, patchViaSVNdiff.txt, wsdlFromFileSystem.patch > > > In some server-side environments, there is an out-of-memory problem when > attempting to handle a large number of JAXWS-based web service applications. > > In the test scenario that fails, the server is attempting to load and start > 100 web service applications. A variety of heap sizes was tried to see if > a heap size for the server could be found to work, ranging from 1 GB to 4 GB. > Increasing the heap size did not work - the out-of-memory error continued to > occur. > In analyzing the java heap dumps, one of the biggest consumers of the memory > is with the wsdl4j WSDLDefinition objects. In the test scenario, the > wsdl4j-related objects consumed about a quarter to a third of the entire heap. > > The WSDLDefinition object is a very heavy-weight object, much of which stems > from its use of the xerces dom objects as underlying support, particularly > for the schemas. > > One area to investigate is the saving of the WSDLDefinition as a Parameter > in the AxisService's ParameterInclude list so that, if some component needs > to utilize the WSDLDefinition object, it can be accessed via the AxisService > object. > > Is it possible to reduce the utilization of the WSDLDefinition? > Some ideas are: > (a) releasing it when it is no longer needed > - this might not be possible to determine > > (b) putting a wrapper on the WSDLDefinition > - so that the WSDLDefinition,or a portion of the WSDLDefinition, > can be released > - but if the WSDLDefinition is accessed after it was released, > the wrapper can reload the WSDLDefinition transparently to the > user > > (c) create a layer for caching wsdl-related information > - this would allow for releasing memory based on some algorithm > and/or interface that could indicate what's no longer needed > -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]