Hello together, We are using Axis2 1.4 as ws-client framework in a web application (deployed in JBOSS) and have encountered a problem after making the Axis2ConfigurationContext a singleton.
This approach was necessary because creating the configurationcontext needs a lot of time and we donĀ“t want to do it again and again... This was the suggestion in a discussion on the mailing list of Axis2 (http://markmail.org/message/57afv4yi3t76b7nk#query:+page:1+mid:57afv4yi3t76b7nk+state:results) So Iimplemented a static method which provides the configurationContext to the caller. If the configurationcontext is created one time, we save it in a static variable and use this in later calls. /** * reuse the configuration context of AXIS2 because it is expensive to create a new one every time you create a * client stub. For more information look at url: * http://markmail.org/message/57afv4yi3t76b7nk#query:+page:1+mid:57afv4yi3t76b7nk+state:results * * @return a valid configuration context for the axis2 stubs * @throws AxisFault if creating the configuration context fails. */ static synchronized ConfigurationContext getConfigurationContext() throws AxisFault { if (configCtx == null) { ClassLoader tccl = Thread.currentThread().getContextClassLoader(); try { // set local ClassLoader ClassLoader bofModuleClassLoader = RPlanWebServiceHelper.class.getClassLoader(); Thread.currentThread().setContextClassLoader(bofModuleClassLoader); configCtx = ConfigurationContextFactory.createConfigurationContextFromFileSystem(null, null); } finally { // restore thread context ClassLoader Thread.currentThread().setContextClassLoader(tccl); } } return configCtx; } The client stubs are created the following way: ProjectServiceStub projectServiceStub = new ProjectServiceStub(getConfigurationContext(), projectServiceUrl); projectServiceStub.UpdateSchedule(updateScheduleType); After some days we realized that there are very often out of memory errors in that application. The application is a so called method server which runs several jobs which are doing a lot of work with the axis2 client. We analyzed the headdump of the java process and determine that the axis2configuration instance needs a lot of memory at the time of the out of memory error. See the attached file for more information. The hashtable instance of allEndpoints is about 200 Megabyte. Please help me to find the problem? Is there a problem how we use the configuration context or is this a bug in Axis2? Thanks, Jens http://old.nabble.com/file/p26440452/headdump_analysis.html headdump_analysis.html -- View this message in context: http://old.nabble.com/Resuse-of-configurationcontext-ends-in-out-of-memory-error-tp26440452p26440452.html Sent from the Axis - User mailing list archive at Nabble.com.