pzfreo, You are right, the problem was there ! I have declared ConfigurationContext as static.
pzfreo wrote: > > Are you calling > > ConfigurationContext myConfigContext = >> ConfigurationContextFactory.createConfigurationContextFromFileSystem(cheminDisque, >> cheminDisque +"/conf/axis2.xml"); > > 200 times? > > You don't need to be. In fact you might only need to create a single > instance of the stub. The configContext is only designed to be created > once. > > Paul > > On 5/16/07, Raf177 <[EMAIL PROTECTED]> wrote: >> >> Hi, >> >> I'm using Axis2 as client (adb binding) and Xfire as service. After >> around >> 200 calls, axis2 client is out of memory. Something is very interesting : >> if >> i don't load axis2.xml file, there's no out of memory and the response is >> very fast : >> stub = new PatrimoineStub(null, "http://..."); >> >> If I load axis2.xml, OutOfMemoryError occurs, and all the responses >> before >> this error are slow : >> ConfigurationContext myConfigContext = >> ConfigurationContextFactory.createConfigurationContextFromFileSystem(cheminDisque, >> cheminDisque +"/conf/axis2.xml"); >> stub = new PatrimoineStub(myConfigContext, "http://..."); >> >> Unfortunately, i need to load axis2.xml. >> >> If anybody has an idea, i will appreciate ! >> >> My axis2.xml file : >> <?xml version="1.0" encoding="UTF-8"?> >> <!-- >> ! >> ! Copyright 2006 The Apache Software Foundation. >> ! >> ! Licensed under the Apache License, Version 2.0 (the "License"); >> ! you may not use this file except in compliance with the License. >> ! You may obtain a copy of the License at >> ! >> ! http://www.apache.org/licenses/LICENSE-2.0 >> ! >> ! Unless required by applicable law or agreed to in writing, software >> ! distributed under the License is distributed on an "AS IS" BASIS, >> ! WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or >> implied. >> ! See the License for the specific language governing permissions and >> ! limitations under the License. >> !--> >> <axisconfig name="AxisJava2.0"> >> >> <module ref="rampart" /> >> >> <parameter name="OutflowSecurity"> >> <action> >> <items>Signature</items> >> <user>zenithopcvm</user> >> <signaturePropFile>client.properties</signaturePropFile> >> >> <passwordCallbackClass>net.gicm.astral.handler.PasswordHandler</passwordCallbackClass> >> <signatureKeyIdentifier>DirectReference</signatureKeyIdentifier> >> </action> >> </parameter> >> >> <parameter name="InflowSecurity"> >> <action> >> <items>Signature</items> >> <signaturePropFile>client.properties</signaturePropFile> >> >> <passwordCallbackClass>net.gicm.astral.handler.PasswordHandler</passwordCallbackClass> >> </action> >> </parameter> >> >> <!-- ================================================= --> >> <!-- Parameters --> >> <!-- ================================================= --> >> <parameter name="hotdeployment" locked="false">true</parameter> >> <parameter name="hotupdate" locked="false">false</parameter> >> <parameter name="enableMTOM" locked="false">false</parameter> >> >> <!--During a fault, stacktrace can be sent with the fault message. >> The >> following flag will control --> >> <!--that behaviour.--> >> <parameter name="sendStacktraceDetailsWithFaults" >> locked="false">true</parameter> >> >> <!--If there aren't any information available to find out the fault >> reason, we set the message of the exception--> >> <!--as the faultreason/Reason. But when a fault is thrown from a >> service >> or some where, it will be --> >> <!--wrapped by different levels. Due to this the initial exception >> message can be lost. If this flag--> >> <!--is set then, Axis2 tries to get the first exception and set its >> message as the faultreason/Reason.--> >> <parameter name="DrillDownToRootCauseForFaultReason" >> locked="false">false</parameter> >> >> <!--This is the user name and password of admin console--> >> <parameter name="userName" locked="false">admin</parameter> >> <parameter name="password" locked="false">axis2</parameter> >> >> <!--To override repository/services you need to uncomment following >> parameter and value SHOULD be absolute file path.--> >> <!--<parameter name="services" locked="false">service</parameter>--> >> <!--To override repository/modules you need to uncomment following >> parameter and value SHOULD be absolute file path--> >> <!--<parameter name="modules" locked="false">modules</parameter>--> >> >> <!--Following params will set the proper context paths for >> invocations. >> All the endpoints will have a commons context--> >> <!--root which can configured using the following contextRoot >> parameter--> >> <!--<parameter name="contextRoot" locked="false">axis2</parameter>--> >> >> <!--Our HTTP endpoints can handle both REST and SOAP. Following >> parameters can be used to distinguish those endpoints--> >> <!--<parameter name="servicePath" >> locked="false">services</parameter>--> >> <!--<parameter name="restPath" locked="false">rest</parameter>--> >> >> <!--Set the flag to true if you want to enable transport level >> session >> management--> >> <parameter name="manageTransportSession" >> locked="false">false</parameter> >> >> <!--Following two parameters will be used to handle REST in Axis2. >> The >> default settings will make Axis2 to have two--> >> <!--different endpoints, one for REST (AxisRESTServlet) one for SOAP >> message handling (AxisServlet). But following--> >> <!--parameters help to tweak the message handling of two main >> servlets. >> --> >> >> <!-- If the enableRESTInAxis2MainServlet is true, then >> Axis2MainServlet >> will handle both SOAP and REST messages --> >> <parameter name="enableRESTInAxis2MainServlet" >> locked="true">true</parameter> >> >> <!-- Following parameter will completely disable REST handling in >> both >> the servlets--> >> <parameter name="disableREST" locked="true">false</parameter> >> >> <!-- This will disable the separate servlet we have for REST >> handling. >> --> >> <parameter name="disableSeparateEndpointForREST" >> locked="true">false</parameter> >> >> >> >> <!-- ================================================= --> >> <!-- Message Receivers --> >> <!-- ================================================= --> >> <!--This is the Default Message Receiver for the system , if you want >> to >> have MessageReceivers for --> >> <!--all the other MEP implement it and add the correct entry to here >> , >> so that you can refer from--> >> <!--any operation --> >> <!--Note : You can override this for particular service by adding the >> same element with your requirement--> >> <messageReceivers> >> <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only" >> >> class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/> >> <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out" >> >> class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/> >> </messageReceivers> >> >> <!-- ================================================= --> >> <!-- Target Resolvers --> >> <!-- ================================================= --> >> <!-- Uncomment the following and specify the class name for your >> TargetResolver to add --> >> <!-- a TargetResolver. TargetResolvers are used to process the To EPR >> for example to --> >> <!-- choose a server in a cluster --> >> <!--<targetResolvers>--> >> <!--<targetResolver class="" />--> >> <!--</targetResolvers>--> >> >> >> <!-- ================================================= --> >> <!-- Transport Ins --> >> <!-- ================================================= --> >> <transportReceiver name="http" >> >> class="org.apache.axis2.transport.http.SimpleHTTPServer"> >> <parameter name="port" locked="false">6060</parameter> >> <!--If you want to give your own host address for EPR >> generation--> >> <!--uncomment following parameter , and set as you required.--> >> <!--<parameter name="hostname" >> locked="false">http://myApp.com/ws</parameter>--> >> </transportReceiver> >> >> <transportReceiver name="tcp" >> class="org.apache.axis2.transport.tcp.TCPServer"> >> <parameter name="port" locked="false">6061</parameter> >> <!--If you want to give your own host address for EPR >> generation--> >> <!--uncomment following parameter , and set as you required.--> >> <!--<parameter name="hostname" >> locked="false">tcp://myApp.com/ws</parameter>--> >> </transportReceiver> >> >> <!-- ================================================= --> >> <!-- Transport Outs --> >> <!-- ================================================= --> >> >> <transportSender name="jms" >> class="org.apache.axis2.transport.jms.JMSSender"/> >> <transportSender name="tcp" >> >> class="org.apache.axis2.transport.tcp.TCPTransportSender"/> >> <transportSender name="local" >> >> class="org.apache.axis2.transport.local.LocalTransportSender"/> >> <transportSender name="http" >> >> class="org.apache.axis2.transport.http.CommonsHTTPTransportSender"> >> <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter> >> <parameter name="Transfer-Encoding" >> locked="false">chunked</parameter> >> </transportSender> >> <transportSender name="https" >> >> class="org.apache.axis2.transport.http.CommonsHTTPTransportSender"> >> <parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter> >> <parameter name="Transfer-Encoding" >> locked="false">chunked</parameter> >> </transportSender> >> >> <!-- ================================================= --> >> <!-- Phases --> >> <!-- ================================================= --> >> <phaseOrder type="InFlow"> >> <!-- System pre-defined phases --> >> <phase name="Transport"> >> <handler name="RequestURIBasedDispatcher" >> >> class="org.apache.axis2.engine.RequestURIBasedDispatcher"> >> <order phase="Transport"/> >> </handler> >> <handler name="SOAPActionBasedDispatcher" >> >> class="org.apache.axis2.engine.SOAPActionBasedDispatcher"> >> <order phase="Transport"/> >> </handler> >> </phase> >> <phase name="Security"/> >> <phase name="PreDispatch"/> >> <phase name="Dispatch" >> class="org.apache.axis2.engine.DispatchPhase"> >> <handler name="AddressingBasedDispatcher" >> >> class="org.apache.axis2.engine.AddressingBasedDispatcher"> >> <order phase="Dispatch"/> >> </handler> >> >> <handler name="SOAPMessageBodyBasedDispatcher" >> >> class="org.apache.axis2.engine.SOAPMessageBodyBasedDispatcher"> >> <order phase="Dispatch"/> >> </handler> >> <handler name="InstanceDispatcher" >> class="org.apache.axis2.engine.InstanceDispatcher"> >> <order phase="Dispatch"/> >> </handler> >> </phase> >> <!-- System pre defined phases --> >> <!-- After Postdispatch phase module author or or service >> author >> can add any phase he want --> >> <phase name="OperationInPhase"/> >> <phase name="SecurityPhase"> >> <handler name="SecurityHandler" >> class="net.gicm.astral.handler.SecurityHandler"> >> <order phase="Security"/> >> </handler> >> </phase> >> </phaseOrder> >> <phaseOrder type="OutFlow"> >> <!-- user can add his own phases to this area --> >> <phase name="OperationOutPhase"/> >> <!--system predefined phase--> >> <!--these phase will run irrespective of the service--> >> <phase name="PolicyDetermination"/> >> <phase name="MessageOut"/> >> <phase name="Security"/> >> </phaseOrder> >> <phaseOrder type="InFaultFlow"> >> <phase name="PreDispatch"/> >> <phase name="Dispatch" >> class="org.apache.axis2.engine.DispatchPhase"> >> <handler name="RequestURIBasedDispatcher" >> >> class="org.apache.axis2.engine.RequestURIBasedDispatcher"> >> <order phase="Dispatch"/> >> </handler> >> >> <handler name="SOAPActionBasedDispatcher" >> >> class="org.apache.axis2.engine.SOAPActionBasedDispatcher"> >> <order phase="Dispatch"/> >> </handler> >> >> <handler name="AddressingBasedDispatcher" >> >> class="org.apache.axis2.engine.AddressingBasedDispatcher"> >> <order phase="Dispatch"/> >> </handler> >> >> <handler name="SOAPMessageBodyBasedDispatcher" >> >> class="org.apache.axis2.engine.SOAPMessageBodyBasedDispatcher"> >> <order phase="Dispatch"/> >> </handler> >> <handler name="InstanceDispatcher" >> class="org.apache.axis2.engine.InstanceDispatcher"> >> <order phase="Dispatch"/> >> </handler> >> </phase> >> <!-- user can add his own phases to this area --> >> <phase name="OperationInFaultPhase"/> >> </phaseOrder> >> <phaseOrder type="OutFaultFlow"> >> <!-- user can add his own phases to this area --> >> <phase name="OperationOutFaultPhase"/> >> <phase name="PolicyDetermination"/> >> <phase name="MessageOut"/> >> </phaseOrder> >> </axisconfig> >> >> >> -- >> View this message in context: >> http://www.nabble.com/Axis2-client-%2B-Xfire-service-%3A-OutOfMemoryError-tf3763618.html#a10638755 >> Sent from the Axis - User mailing list archive at Nabble.com. >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> > > > -- > Paul Fremantle > VP/Technology, WSO2 and OASIS WS-RX TC Co-chair > > http://bloglines.com/blog/paulfremantle > [EMAIL PROTECTED] > > "Oxygenating the Web Service Platform", www.wso2.com > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > -- View this message in context: http://www.nabble.com/Axis2-client-%2B-Xfire-service-%3A-OutOfMemoryError-tf3763618.html#a10714242 Sent from the Axis - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
