Glad you sorted it out!

Paul

On 5/21/07, Raf177 <[EMAIL PROTECTED]> wrote:

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]




--
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]

Reply via email to